upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / char / Kconfig
1 #
2 # Character device configuration
3 #
4
5 menu "Character devices"
6
7 config VT
8         bool "Virtual terminal" if EMBEDDED
9         depends on !S390
10         select INPUT
11         default y
12         ---help---
13           If you say Y here, you will get support for terminal devices with
14           display and keyboard devices. These are called "virtual" because you
15           can run several virtual terminals (also called virtual consoles) on
16           one physical terminal. This is rather useful, for example one
17           virtual terminal can collect system messages and warnings, another
18           one can be used for a text-mode user session, and a third could run
19           an X session, all in parallel. Switching between virtual terminals
20           is done with certain key combinations, usually Alt-<function key>.
21
22           The setterm command ("man setterm") can be used to change the
23           properties (such as colors or beeping) of a virtual terminal. The
24           man page console_codes(4) ("man console_codes") contains the special
25           character sequences that can be used to change those properties
26           directly. The fonts used on virtual terminals can be changed with
27           the setfont ("man setfont") command and the key bindings are defined
28           with the loadkeys ("man loadkeys") command.
29
30           You need at least one virtual terminal device in order to make use
31           of your keyboard and monitor. Therefore, only people configuring an
32           embedded system would want to say N here in order to save some
33           memory; the only way to log into such a system is then via a serial
34           or network connection.
35
36           If unsure, say Y, or else you won't be able to do much with your new
37           shiny Linux system :-)
38
39 config CONSOLE_TRANSLATIONS
40         depends on VT
41         default y
42         bool "Enable character translations in console" if EMBEDDED
43         ---help---
44           This enables support for font mapping and Unicode translation
45           on virtual consoles.
46
47 config VT_CONSOLE
48         bool "Support for console on virtual terminal" if EMBEDDED
49         depends on VT
50         default y
51         ---help---
52           The system console is the device which receives all kernel messages
53           and warnings and which allows logins in single user mode. If you
54           answer Y here, a virtual terminal (the device used to interact with
55           a physical terminal) can be used as system console. This is the most
56           common mode of operations, so you should say Y here unless you want
57           the kernel messages be output only to a serial port (in which case
58           you should say Y to "Console on serial port", below).
59
60           If you do say Y here, by default the currently visible virtual
61           terminal (/dev/tty0) will be used as system console. You can change
62           that with a kernel command line option such as "console=tty3" which
63           would use the third virtual terminal as system console. (Try "man
64           bootparam" or see the documentation of your boot loader (lilo or
65           loadlin) about how to pass options to the kernel at boot time.)
66
67           If unsure, say Y.
68
69 config HW_CONSOLE
70         bool
71         depends on VT && !S390 && !UML
72         default y
73
74 config MAX_NR_CONSOLES
75         int "Number of console (VT) devices"
76         depends on HW_CONSOLE
77         range 1 63
78         default "63"
79         ---help---
80           This tunable allows to change MAX_NR_CONSOLES
81
82 config VT_HW_CONSOLE_BINDING
83        bool "Support for binding and unbinding console drivers"
84        depends on HW_CONSOLE
85        default n
86        ---help---
87          The virtual terminal is the device that interacts with the physical
88          terminal through console drivers. On these systems, at least one
89          console driver is loaded. In other configurations, additional console
90          drivers may be enabled, such as the framebuffer console. If more than
91          1 console driver is enabled, setting this to 'y' will allow you to
92          select the console driver that will serve as the backend for the
93          virtual terminals.
94
95          See <file:Documentation/console/console.txt> for more
96          information. For framebuffer console users, please refer to
97          <file:Documentation/fb/fbcon.txt>.
98
99 config DEVKMEM
100         bool "/dev/kmem virtual device support"
101         default y
102         help
103           Say Y here if you want to support the /dev/kmem device. The
104           /dev/kmem device is rarely used, but can be used for certain
105           kind of kernel debugging operations.
106           When in doubt, say "N".
107
108 config BFIN_JTAG_COMM
109         tristate "Blackfin JTAG Communication"
110         depends on BLACKFIN
111         help
112           Add support for emulating a TTY device over the Blackfin JTAG.
113
114           To compile this driver as a module, choose M here: the
115           module will be called bfin_jtag_comm.
116
117 config BFIN_JTAG_COMM_CONSOLE
118         bool "Console on Blackfin JTAG"
119         depends on BFIN_JTAG_COMM=y
120
121 config SERIAL_NONSTANDARD
122         bool "Non-standard serial port support"
123         depends on HAS_IOMEM
124         ---help---
125           Say Y here if you have any non-standard serial boards -- boards
126           which aren't supported using the standard "dumb" serial driver.
127           This includes intelligent serial boards such as Cyclades,
128           Digiboards, etc. These are usually used for systems that need many
129           serial ports because they serve many terminals or dial-in
130           connections.
131
132           Note that the answer to this question won't directly affect the
133           kernel: saying N will just cause the configurator to skip all
134           the questions about non-standard serial boards.
135
136           Most people can say N here.
137
138 config COMPUTONE
139         tristate "Computone IntelliPort Plus serial support"
140         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
141         ---help---
142           This driver supports the entire family of Intelliport II/Plus
143           controllers with the exception of the MicroChannel controllers and
144           products previous to the Intelliport II. These are multiport cards,
145           which give you many serial ports. You would need something like this
146           to connect more than two modems to your Linux box, for instance in
147           order to become a dial-in server. If you have a card like that, say
148           Y here and read <file:Documentation/serial/computone.txt>.
149
150           To compile this driver as module, choose M here: the
151           module will be called ip2.
152
153 config ROCKETPORT
154         tristate "Comtrol RocketPort support"
155         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
156         help
157           This driver supports Comtrol RocketPort and RocketModem PCI boards.
158           These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
159           modems.  For information about the RocketPort/RocketModem  boards
160           and this driver read <file:Documentation/serial/rocket.txt>.
161
162           To compile this driver as a module, choose M here: the
163           module will be called rocket.
164
165           If you want to compile this driver into the kernel, say Y here.  If
166           you don't have a Comtrol RocketPort/RocketModem card installed, say N.
167
168 config CYCLADES
169         tristate "Cyclades async mux support"
170         depends on SERIAL_NONSTANDARD && (PCI || ISA)
171         select FW_LOADER
172         ---help---
173           This driver supports Cyclades Z and Y multiserial boards.
174           You would need something like this to connect more than two modems to
175           your Linux box, for instance in order to become a dial-in server.
176
177           For information about the Cyclades-Z card, read
178           <file:Documentation/serial/README.cycladesZ>.
179
180           To compile this driver as a module, choose M here: the
181           module will be called cyclades.
182
183           If you haven't heard about it, it's safe to say N.
184
185 config CYZ_INTR
186         bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
187         depends on EXPERIMENTAL && CYCLADES
188         help
189           The Cyclades-Z family of multiport cards allows 2 (two) driver op
190           modes: polling and interrupt. In polling mode, the driver will check
191           the status of the Cyclades-Z ports every certain amount of time
192           (which is called polling cycle and is configurable). In interrupt
193           mode, it will use an interrupt line (IRQ) in order to check the
194           status of the Cyclades-Z ports. The default op mode is polling. If
195           unsure, say N.
196
197 config DIGIEPCA
198         tristate "Digiboard Intelligent Async Support"
199         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
200         ---help---
201           This is a driver for Digi International's Xx, Xeve, and Xem series
202           of cards which provide multiple serial ports. You would need
203           something like this to connect more than two modems to your Linux
204           box, for instance in order to become a dial-in server. This driver
205           supports the original PC (ISA) boards as well as PCI, and EISA. If
206           you have a card like this, say Y here and read the file
207           <file:Documentation/serial/digiepca.txt>.
208
209           To compile this driver as a module, choose M here: the
210           module will be called epca.
211
212 config MOXA_INTELLIO
213         tristate "Moxa Intellio support"
214         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
215         select FW_LOADER
216         help
217           Say Y here if you have a Moxa Intellio multiport serial card.
218
219           To compile this driver as a module, choose M here: the
220           module will be called moxa.
221
222 config MOXA_SMARTIO
223         tristate "Moxa SmartIO support v. 2.0"
224         depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
225         help
226           Say Y here if you have a Moxa SmartIO multiport serial card and/or
227           want to help develop a new version of this driver.
228
229           This is upgraded (1.9.1) driver from original Moxa drivers with
230           changes finally resulting in PCI probing.
231
232           This driver can also be built as a module. The module will be called
233           mxser. If you want to do that, say M here.
234
235 config ISI
236         tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
237         depends on SERIAL_NONSTANDARD && PCI
238         select FW_LOADER
239         help
240           This is a driver for the Multi-Tech cards which provide several
241           serial ports.  The driver is experimental and can currently only be
242           built as a module. The module will be called isicom.
243           If you want to do that, choose M here.
244
245 config SYNCLINK
246         tristate "Microgate SyncLink card support"
247         depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
248         help
249           Provides support for the SyncLink ISA and PCI multiprotocol serial
250           adapters. These adapters support asynchronous and HDLC bit
251           synchronous communication up to 10Mbps (PCI adapter).
252
253           This driver can only be built as a module ( = code which can be
254           inserted in and removed from the running kernel whenever you want).
255           The module will be called synclink.  If you want to do that, say M
256           here.
257
258 config SYNCLINKMP
259         tristate "SyncLink Multiport support"
260         depends on SERIAL_NONSTANDARD && PCI
261         help
262           Enable support for the SyncLink Multiport (2 or 4 ports)
263           serial adapter, running asynchronous and HDLC communications up
264           to 2.048Mbps. Each ports is independently selectable for
265           RS-232, V.35, RS-449, RS-530, and X.21
266
267           This driver may be built as a module ( = code which can be
268           inserted in and removed from the running kernel whenever you want).
269           The module will be called synclinkmp.  If you want to do that, say M
270           here.
271
272 config SYNCLINK_GT
273         tristate "SyncLink GT/AC support"
274         depends on SERIAL_NONSTANDARD && PCI
275         help
276           Support for SyncLink GT and SyncLink AC families of
277           synchronous and asynchronous serial adapters
278           manufactured by Microgate Systems, Ltd. (www.microgate.com)
279
280 config N_HDLC
281         tristate "HDLC line discipline support"
282         depends on SERIAL_NONSTANDARD
283         help
284           Allows synchronous HDLC communications with tty device drivers that
285           support synchronous HDLC such as the Microgate SyncLink adapter.
286
287           This driver can be built as a module ( = code which can be
288           inserted in and removed from the running kernel whenever you want).
289           The module will be called n_hdlc. If you want to do that, say M
290           here.
291
292 config N_GSM
293         tristate "GSM MUX line discipline support (EXPERIMENTAL)"
294         depends on EXPERIMENTAL
295         depends on NET
296         help
297           This line discipline provides support for the GSM MUX protocol and
298           presents the mux as a set of 61 individual tty devices.
299
300 config RISCOM8
301         tristate "SDL RISCom/8 card support"
302         depends on SERIAL_NONSTANDARD
303         help
304           This is a driver for the SDL Communications RISCom/8 multiport card,
305           which gives you many serial ports. You would need something like
306           this to connect more than two modems to your Linux box, for instance
307           in order to become a dial-in server. If you have a card like that,
308           say Y here and read the file <file:Documentation/serial/riscom8.txt>.
309
310           Also it's possible to say M here and compile this driver as kernel
311           loadable module; the module will be called riscom8.
312
313 config SPECIALIX
314         tristate "Specialix IO8+ card support"
315         depends on SERIAL_NONSTANDARD
316         help
317           This is a driver for the Specialix IO8+ multiport card (both the
318           ISA and the PCI version) which gives you many serial ports. You
319           would need something like this to connect more than two modems to
320           your Linux box, for instance in order to become a dial-in server.
321
322           If you have a card like that, say Y here and read the file
323           <file:Documentation/serial/specialix.txt>. Also it's possible to say
324           M here and compile this driver as kernel loadable module which will be
325           called specialix.
326
327 config SX
328         tristate "Specialix SX (and SI) card support"
329         depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) && BROKEN
330         help
331           This is a driver for the SX and SI multiport serial cards.
332           Please read the file <file:Documentation/serial/sx.txt> for details.
333
334           This driver can only be built as a module ( = code which can be
335           inserted in and removed from the running kernel whenever you want).
336           The module will be called sx. If you want to do that, say M here.
337
338 config RIO
339         tristate "Specialix RIO system support"
340         depends on SERIAL_NONSTANDARD && BROKEN
341         help
342           This is a driver for the Specialix RIO, a smart serial card which
343           drives an outboard box that can support up to 128 ports.  Product
344           information is at <http://www.perle.com/support/documentation.html#multiport>.
345           There are both ISA and PCI versions.
346
347 config RIO_OLDPCI
348         bool "Support really old RIO/PCI cards"
349         depends on RIO
350         help
351           Older RIO PCI cards need some initialization-time configuration to
352           determine the IRQ and some control addresses.  If you have a RIO and
353           this doesn't seem to work, try setting this to Y.
354
355 config STALDRV
356         bool "Stallion multiport serial support"
357         depends on SERIAL_NONSTANDARD
358         help
359           Stallion cards give you many serial ports.  You would need something
360           like this to connect more than two modems to your Linux box, for
361           instance in order to become a dial-in server.  If you say Y here,
362           you will be asked for your specific card model in the next
363           questions.  Make sure to read <file:Documentation/serial/stallion.txt>
364           in this case.  If you have never heard about all this, it's safe to
365           say N.
366
367 config STALLION
368         tristate "Stallion EasyIO or EC8/32 support"
369         depends on STALDRV && (ISA || EISA || PCI)
370         help
371           If you have an EasyIO or EasyConnection 8/32 multiport Stallion
372           card, then this is for you; say Y.  Make sure to read
373           <file:Documentation/serial/stallion.txt>.
374
375           To compile this driver as a module, choose M here: the
376           module will be called stallion.
377
378 config ISTALLION
379         tristate "Stallion EC8/64, ONboard, Brumby support"
380         depends on STALDRV && (ISA || EISA || PCI)
381         help
382           If you have an EasyConnection 8/64, ONboard, Brumby or Stallion
383           serial multiport card, say Y here. Make sure to read
384           <file:Documentation/serial/stallion.txt>.
385
386           To compile this driver as a module, choose M here: the
387           module will be called istallion.
388
389 config NOZOMI
390         tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
391         depends on PCI && EXPERIMENTAL
392         help
393           If you have a HSDPA driver Broadband Wireless Data Card -
394           Globe Trotter PCMCIA card, say Y here.
395
396           To compile this driver as a module, choose M here, the module
397           will be called nozomi.
398
399 config A2232
400         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
401         depends on EXPERIMENTAL && ZORRO && BROKEN
402         ---help---
403           This option supports the 2232 7-port serial card shipped with the
404           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
405           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
406           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
407           ports were connected with 8 pin DIN connectors on the card bracket,
408           for which 8 pin to DB25 adapters were supplied. The card also had
409           jumpers internally to toggle various pinning configurations.
410
411           This driver can be built as a module; but then "generic_serial"
412           will also be built as a module. This has to be loaded before
413           "ser_a2232". If you want to do this, answer M here.
414
415 config SGI_SNSC
416         bool "SGI Altix system controller communication support"
417         depends on (IA64_SGI_SN2 || IA64_GENERIC)
418         help
419           If you have an SGI Altix and you want to enable system
420           controller communication from user space (you want this!),
421           say Y.  Otherwise, say N.
422
423 config SGI_TIOCX
424        bool "SGI TIO CX driver support"
425        depends on (IA64_SGI_SN2 || IA64_GENERIC)
426        help
427          If you have an SGI Altix and you have fpga devices attached
428          to your TIO, say Y here, otherwise say N.
429
430 config SGI_MBCS
431        tristate "SGI FPGA Core Services driver support"
432        depends on SGI_TIOCX
433        help
434          If you have an SGI Altix with an attached SABrick
435          say Y or M here, otherwise say N.
436
437 source "drivers/serial/Kconfig"
438
439 config UNIX98_PTYS
440         bool "Unix98 PTY support" if EMBEDDED
441         default y
442         ---help---
443           A pseudo terminal (PTY) is a software device consisting of two
444           halves: a master and a slave. The slave device behaves identical to
445           a physical terminal; the master device is used by a process to
446           read data from and write data to the slave, thereby emulating a
447           terminal. Typical programs for the master side are telnet servers
448           and xterms.
449
450           Linux has traditionally used the BSD-like names /dev/ptyxx for
451           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
452           has a number of problems. The GNU C library glibc 2.1 and later,
453           however, supports the Unix98 naming standard: in order to acquire a
454           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
455           terminal is then made available to the process and the pseudo
456           terminal slave can be accessed as /dev/pts/<number>. What was
457           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
458
459           All modern Linux systems use the Unix98 ptys.  Say Y unless
460           you're on an embedded system and want to conserve memory.
461
462 config DEVPTS_MULTIPLE_INSTANCES
463         bool "Support multiple instances of devpts"
464         depends on UNIX98_PTYS
465         default n
466         ---help---
467           Enable support for multiple instances of devpts filesystem.
468           If you want to have isolated PTY namespaces (eg: in containers),
469           say Y here.  Otherwise, say N. If enabled, each mount of devpts
470           filesystem with the '-o newinstance' option will create an
471           independent PTY namespace.
472
473 config LEGACY_PTYS
474         bool "Legacy (BSD) PTY support"
475         default y
476         ---help---
477           A pseudo terminal (PTY) is a software device consisting of two
478           halves: a master and a slave. The slave device behaves identical to
479           a physical terminal; the master device is used by a process to
480           read data from and write data to the slave, thereby emulating a
481           terminal. Typical programs for the master side are telnet servers
482           and xterms.
483
484           Linux has traditionally used the BSD-like names /dev/ptyxx
485           for masters and /dev/ttyxx for slaves of pseudo
486           terminals. This scheme has a number of problems, including
487           security.  This option enables these legacy devices; on most
488           systems, it is safe to say N.
489
490
491 config LEGACY_PTY_COUNT
492         int "Maximum number of legacy PTY in use"
493         depends on LEGACY_PTYS
494         range 0 256
495         default "256"
496         ---help---
497           The maximum number of legacy PTYs that can be used at any one time.
498           The default is 256, and should be more than enough.  Embedded
499           systems may want to reduce this to save memory.
500
501           When not in use, each legacy PTY occupies 12 bytes on 32-bit
502           architectures and 24 bytes on 64-bit architectures.
503
504 config TTY_PRINTK
505         bool "TTY driver to output user messages via printk"
506         default n
507         ---help---
508           If you say Y here, the support for writing user messages (i.e.
509           console messages) via printk is available.
510
511           The feature is useful to inline user messages with kernel
512           messages.
513           In order to use this feature, you should output user messages
514           to /dev/ttyprintk or redirect console to this TTY.
515
516           If unsure, say N.
517
518 config BRIQ_PANEL
519         tristate 'Total Impact briQ front panel driver'
520         depends on PPC_CHRP
521         ---help---
522           The briQ is a small footprint CHRP computer with a frontpanel VFD, a
523           tristate led and two switches. It is the size of a CDROM drive.
524
525           If you have such one and want anything showing on the VFD then you
526           must answer Y here.
527
528           To compile this driver as a module, choose M here: the
529           module will be called briq_panel.
530
531           It's safe to say N here.
532
533 config BFIN_OTP
534         tristate "Blackfin On-Chip OTP Memory Support"
535         depends on BLACKFIN && (BF51x || BF52x || BF54x)
536         default y
537         help
538           If you say Y here, you will get support for a character device
539           interface into the One Time Programmable memory pages that are
540           stored on the Blackfin processor.  This will not get you access
541           to the secure memory pages however.  You will need to write your
542           own secure code and reader for that.
543
544           To compile this driver as a module, choose M here: the module
545           will be called bfin-otp.
546
547           If unsure, it is safe to say Y.
548
549 config BFIN_OTP_WRITE_ENABLE
550         bool "Enable writing support of OTP pages"
551         depends on BFIN_OTP
552         default n
553         help
554           If you say Y here, you will enable support for writing of the
555           OTP pages.  This is dangerous by nature as you can only program
556           the pages once, so only enable this option when you actually
557           need it so as to not inadvertently clobber data.
558
559           If unsure, say N.
560
561 config PRINTER
562         tristate "Parallel printer support"
563         depends on PARPORT
564         ---help---
565           If you intend to attach a printer to the parallel port of your Linux
566           box (as opposed to using a serial printer; if the connector at the
567           printer has 9 or 25 holes ["female"], then it's serial), say Y.
568           Also read the Printing-HOWTO, available from
569           <http://www.tldp.org/docs.html#howto>.
570
571           It is possible to share one parallel port among several devices
572           (e.g. printer and ZIP drive) and it is safe to compile the
573           corresponding drivers into the kernel.
574
575           To compile this driver as a module, choose M here and read
576           <file:Documentation/parport.txt>.  The module will be called lp.
577
578           If you have several parallel ports, you can specify which ports to
579           use with the "lp" kernel command line option.  (Try "man bootparam"
580           or see the documentation of your boot loader (lilo or loadlin) about
581           how to pass options to the kernel at boot time.)  The syntax of the
582           "lp" command line option can be found in <file:drivers/char/lp.c>.
583
584           If you have more than 8 printers, you need to increase the LP_NO
585           macro in lp.c and the PARPORT_MAX macro in parport.h.
586
587 config LP_CONSOLE
588         bool "Support for console on line printer"
589         depends on PRINTER
590         ---help---
591           If you want kernel messages to be printed out as they occur, you
592           can have a console on the printer. This option adds support for
593           doing that; to actually get it to happen you need to pass the
594           option "console=lp0" to the kernel at boot time.
595
596           If the printer is out of paper (or off, or unplugged, or too
597           busy..) the kernel will stall until the printer is ready again.
598           By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
599           can make the kernel continue when this happens,
600           but it'll lose the kernel messages.
601
602           If unsure, say N.
603
604 config PPDEV
605         tristate "Support for user-space parallel port device drivers"
606         depends on PARPORT
607         ---help---
608           Saying Y to this adds support for /dev/parport device nodes.  This
609           is needed for programs that want portable access to the parallel
610           port, for instance deviceid (which displays Plug-and-Play device
611           IDs).
612
613           This is the parallel port equivalent of SCSI generic support (sg).
614           It is safe to say N to this -- it is not needed for normal printing
615           or parallel port CD-ROM/disk support.
616
617           To compile this driver as a module, choose M here: the
618           module will be called ppdev.
619
620           If unsure, say N.
621
622 config HVC_DRIVER
623         bool
624         help
625           Generic "hypervisor virtual console" infrastructure for various
626           hypervisors (pSeries, iSeries, Xen, lguest).
627           It will automatically be selected if one of the back-end console drivers
628           is selected.
629
630 config HVC_IRQ
631         bool
632
633 config HVC_CONSOLE
634         bool "pSeries Hypervisor Virtual Console support"
635         depends on PPC_PSERIES
636         select HVC_DRIVER
637         select HVC_IRQ
638         help
639           pSeries machines when partitioned support a hypervisor virtual
640           console. This driver allows each pSeries partition to have a console
641           which is accessed via the HMC.
642
643 config HVC_ISERIES
644         bool "iSeries Hypervisor Virtual Console support"
645         depends on PPC_ISERIES
646         default y
647         select HVC_DRIVER
648         select HVC_IRQ
649         select VIOPATH
650         help
651           iSeries machines support a hypervisor virtual console.
652
653 config HVC_RTAS
654         bool "IBM RTAS Console support"
655         depends on PPC_RTAS
656         select HVC_DRIVER
657         help
658           IBM Console device driver which makes use of RTAS
659
660 config HVC_BEAT
661         bool "Toshiba's Beat Hypervisor Console support"
662         depends on PPC_CELLEB
663         select HVC_DRIVER
664         help
665           Toshiba's Cell Reference Set Beat Console device driver
666
667 config HVC_IUCV
668         bool "z/VM IUCV Hypervisor console support (VM only)"
669         depends on S390
670         select HVC_DRIVER
671         select IUCV
672         default y
673         help
674           This driver provides a Hypervisor console (HVC) back-end to access
675           a Linux (console) terminal via a z/VM IUCV communication path.
676
677 config HVC_XEN
678         bool "Xen Hypervisor Console support"
679         depends on XEN
680         select HVC_DRIVER
681         select HVC_IRQ
682         default y
683         help
684           Xen virtual console device driver
685
686 config HVC_UDBG
687        bool "udbg based fake hypervisor console"
688        depends on PPC && EXPERIMENTAL
689        select HVC_DRIVER
690        default n
691
692 config VIRTIO_CONSOLE
693         tristate "Virtio console"
694         depends on VIRTIO
695         select HVC_DRIVER
696         help
697           Virtio console for use with lguest and other hypervisors.
698
699           Also serves as a general-purpose serial device for data
700           transfer between the guest and host.  Character devices at
701           /dev/vportNpn will be created when corresponding ports are
702           found, where N is the device number and n is the port number
703           within that device.  If specified by the host, a sysfs
704           attribute called 'name' will be populated with a name for
705           the port which can be used by udev scripts to create a
706           symlink to the device.
707
708 config HVCS
709         tristate "IBM Hypervisor Virtual Console Server support"
710         depends on PPC_PSERIES && HVC_CONSOLE
711         help
712           Partitionable IBM Power5 ppc64 machines allow hosting of
713           firmware virtual consoles from one Linux partition by
714           another Linux partition.  This driver allows console data
715           from Linux partitions to be accessed through TTY device
716           interfaces in the device tree of a Linux partition running
717           this driver.
718
719           To compile this driver as a module, choose M here: the
720           module will be called hvcs.  Additionally, this module
721           will depend on arch specific APIs exported from hvcserver.ko
722           which will also be compiled when this driver is built as a
723           module.
724
725 config IBM_BSR
726         tristate "IBM POWER Barrier Synchronization Register support"
727         depends on PPC_PSERIES
728         help
729           This devices exposes a hardware mechanism for fast synchronization
730           of threads across a large system which avoids bouncing a cacheline
731           between several cores on a system
732
733 source "drivers/char/ipmi/Kconfig"
734
735 config DS1620
736         tristate "NetWinder thermometer support"
737         depends on ARCH_NETWINDER
738         help
739           Say Y here to include support for the thermal management hardware
740           found in the NetWinder. This driver allows the user to control the
741           temperature set points and to read the current temperature.
742
743           It is also possible to say M here to build it as a module (ds1620)
744           It is recommended to be used on a NetWinder, but it is not a
745           necessity.
746
747 config NWBUTTON
748         tristate "NetWinder Button"
749         depends on ARCH_NETWINDER
750         ---help---
751           If you say Y here and create a character device node /dev/nwbutton
752           with major and minor numbers 10 and 158 ("man mknod"), then every
753           time the orange button is pressed a number of times, the number of
754           times the button was pressed will be written to that device.
755
756           This is most useful for applications, as yet unwritten, which
757           perform actions based on how many times the button is pressed in a
758           row.
759
760           Do not hold the button down for too long, as the driver does not
761           alter the behaviour of the hardware reset circuitry attached to the
762           button; it will still execute a hard reset if the button is held
763           down for longer than approximately five seconds.
764
765           To compile this driver as a module, choose M here: the
766           module will be called nwbutton.
767
768           Most people will answer Y to this question and "Reboot Using Button"
769           below to be able to initiate a system shutdown from the button.
770
771 config NWBUTTON_REBOOT
772         bool "Reboot Using Button"
773         depends on NWBUTTON
774         help
775           If you say Y here, then you will be able to initiate a system
776           shutdown and reboot by pressing the orange button a number of times.
777           The number of presses to initiate the shutdown is two by default,
778           but this can be altered by modifying the value of NUM_PRESSES_REBOOT
779           in nwbutton.h and recompiling the driver or, if you compile the
780           driver as a module, you can specify the number of presses at load
781           time with "insmod button reboot_count=<something>".
782
783 config NWFLASH
784         tristate "NetWinder flash support"
785         depends on ARCH_NETWINDER
786         ---help---
787           If you say Y here and create a character device /dev/flash with
788           major 10 and minor 160 you can manipulate the flash ROM containing
789           the NetWinder firmware. Be careful as accidentally overwriting the
790           flash contents can render your computer unbootable. On no account
791           allow random users access to this device. :-)
792
793           To compile this driver as a module, choose M here: the
794           module will be called nwflash.
795
796           If you're not sure, say N.
797
798 source "drivers/char/hw_random/Kconfig"
799
800 config NVRAM
801         tristate "/dev/nvram support"
802         depends on ATARI || X86 || (ARM && RTC_DRV_CMOS) || GENERIC_NVRAM
803         ---help---
804           If you say Y here and create a character special file /dev/nvram
805           with major number 10 and minor number 144 using mknod ("man mknod"),
806           you get read and write access to the extra bytes of non-volatile
807           memory in the real time clock (RTC), which is contained in every PC
808           and most Ataris.  The actual number of bytes varies, depending on the
809           nvram in the system, but is usually 114 (128-14 for the RTC).
810
811           This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
812           on Ataris. /dev/nvram may be used to view settings there, or to
813           change them (with some utility). It could also be used to frequently
814           save a few bits of very important data that may not be lost over
815           power-off and for which writing to disk is too insecure. Note
816           however that most NVRAM space in a PC belongs to the BIOS and you
817           should NEVER idly tamper with it. See Ralf Brown's interrupt list
818           for a guide to the use of CMOS bytes by your BIOS.
819
820           On Atari machines, /dev/nvram is always configured and does not need
821           to be selected.
822
823           To compile this driver as a module, choose M here: the
824           module will be called nvram.
825
826 #
827 # These legacy RTC drivers just cause too many conflicts with the generic
828 # RTC framework ... let's not even try to coexist any more.
829 #
830 if RTC_LIB=n
831
832 config RTC
833         tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
834         depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \
835                         && !ARM && !SUPERH && !S390 && !AVR32 && !BLACKFIN
836         ---help---
837           If you say Y here and create a character special file /dev/rtc with
838           major number 10 and minor number 135 using mknod ("man mknod"), you
839           will get access to the real time clock (or hardware clock) built
840           into your computer.
841
842           Every PC has such a clock built in. It can be used to generate
843           signals from as low as 1Hz up to 8192Hz, and can also be used
844           as a 24 hour alarm. It reports status information via the file
845           /proc/driver/rtc and its behaviour is set by various ioctls on
846           /dev/rtc.
847
848           If you run Linux on a multiprocessor machine and said Y to
849           "Symmetric Multi Processing" above, you should say Y here to read
850           and set the RTC in an SMP compatible fashion.
851
852           If you think you have a use for such a device (such as periodic data
853           sampling), then say Y here, and read <file:Documentation/rtc.txt>
854           for details.
855
856           To compile this driver as a module, choose M here: the
857           module will be called rtc.
858
859 config JS_RTC
860         tristate "Enhanced Real Time Clock Support"
861         depends on SPARC32 && PCI
862         ---help---
863           If you say Y here and create a character special file /dev/rtc with
864           major number 10 and minor number 135 using mknod ("man mknod"), you
865           will get access to the real time clock (or hardware clock) built
866           into your computer.
867
868           Every PC has such a clock built in. It can be used to generate
869           signals from as low as 1Hz up to 8192Hz, and can also be used
870           as a 24 hour alarm. It reports status information via the file
871           /proc/driver/rtc and its behaviour is set by various ioctls on
872           /dev/rtc.
873
874           If you think you have a use for such a device (such as periodic data
875           sampling), then say Y here, and read <file:Documentation/rtc.txt>
876           for details.
877
878           To compile this driver as a module, choose M here: the
879           module will be called js-rtc.
880
881 config GEN_RTC
882         tristate "Generic /dev/rtc emulation"
883         depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 && !BLACKFIN
884         ---help---
885           If you say Y here and create a character special file /dev/rtc with
886           major number 10 and minor number 135 using mknod ("man mknod"), you
887           will get access to the real time clock (or hardware clock) built
888           into your computer.
889
890           It reports status information via the file /proc/driver/rtc and its
891           behaviour is set by various ioctls on /dev/rtc. If you enable the
892           "extended RTC operation" below it will also provide an emulation
893           for RTC_UIE which is required by some programs and may improve
894           precision in some cases.
895
896           To compile this driver as a module, choose M here: the
897           module will be called genrtc.
898
899 config GEN_RTC_X
900         bool "Extended RTC operation"
901         depends on GEN_RTC
902         help
903           Provides an emulation for RTC_UIE which is required by some programs
904           and may improve precision of the generic RTC support in some cases.
905
906 config EFI_RTC
907         bool "EFI Real Time Clock Services"
908         depends on IA64
909
910 config DS1302
911         tristate "DS1302 RTC support"
912         depends on M32R && (PLAT_M32700UT || PLAT_OPSPUT)
913         help
914           If you say Y here and create a character special file /dev/rtc with
915           major number 121 and minor number 0 using mknod ("man mknod"), you
916           will get access to the real time clock (or hardware clock) built
917           into your computer.
918
919 endif # RTC_LIB
920
921 config DTLK
922         tristate "Double Talk PC internal speech card support"
923         depends on ISA
924         help
925           This driver is for the DoubleTalk PC, a speech synthesizer
926           manufactured by RC Systems (<http://www.rcsys.com/>).  It is also
927           called the `internal DoubleTalk'.
928
929           To compile this driver as a module, choose M here: the
930           module will be called dtlk.
931
932 config XILINX_HWICAP
933         tristate "Xilinx HWICAP Support"
934         depends on XILINX_VIRTEX || MICROBLAZE
935         help
936           This option enables support for Xilinx Internal Configuration
937           Access Port (ICAP) driver.  The ICAP is used on Xilinx Virtex
938           FPGA platforms to partially reconfigure the FPGA at runtime.
939
940           If unsure, say N.
941
942 config R3964
943         tristate "Siemens R3964 line discipline"
944         ---help---
945           This driver allows synchronous communication with devices using the
946           Siemens R3964 packet protocol. Unless you are dealing with special
947           hardware like PLCs, you are unlikely to need this.
948
949           To compile this driver as a module, choose M here: the
950           module will be called n_r3964.
951
952           If unsure, say N.
953
954 config APPLICOM
955         tristate "Applicom intelligent fieldbus card support"
956         depends on PCI
957         ---help---
958           This driver provides the kernel-side support for the intelligent
959           fieldbus cards made by Applicom International. More information
960           about these cards can be found on the WWW at the address
961           <http://www.applicom-int.com/>, or by email from David Woodhouse
962           <dwmw2@infradead.org>.
963
964           To compile this driver as a module, choose M here: the
965           module will be called applicom.
966
967           If unsure, say N.
968
969 config SONYPI
970         tristate "Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)"
971         depends on EXPERIMENTAL && X86 && PCI && INPUT && !64BIT
972         ---help---
973           This driver enables access to the Sony Programmable I/O Control
974           Device which can be found in many (all ?) Sony Vaio laptops.
975
976           If you have one of those laptops, read
977           <file:Documentation/laptops/sonypi.txt>, and say Y or M here.
978
979           To compile this driver as a module, choose M here: the
980           module will be called sonypi.
981
982 config GPIO_TB0219
983         tristate "TANBAC TB0219 GPIO support"
984         depends on TANBAC_TB022X
985         select GPIO_VR41XX
986
987 source "drivers/char/pcmcia/Kconfig"
988
989 config MWAVE
990         tristate "ACP Modem (Mwave) support"
991         depends on X86
992         select SERIAL_8250
993         ---help---
994           The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
995           kernel driver and a user level application. Together these components
996           support direct attachment to public switched telephone networks (PSTNs)
997           and support selected world wide countries.
998
999           This version of the ACP Modem driver supports the IBM Thinkpad 600E,
1000           600, and 770 that include on board ACP modem hardware.
1001
1002           The modem also supports the standard communications port interface
1003           (ttySx) and is compatible with the Hayes AT Command Set.
1004
1005           The user level application needed to use this driver can be found at
1006           the IBM Linux Technology Center (LTC) web site:
1007           <http://www.ibm.com/linux/ltc/>.
1008
1009           If you own one of the above IBM Thinkpads which has the Mwave chipset
1010           in it, say Y.
1011
1012           To compile this driver as a module, choose M here: the
1013           module will be called mwave.
1014
1015 config SCx200_GPIO
1016         tristate "NatSemi SCx200 GPIO Support"
1017         depends on SCx200
1018         select NSC_GPIO
1019         help
1020           Give userspace access to the GPIO pins on the National
1021           Semiconductor SCx200 processors.
1022
1023           If compiled as a module, it will be called scx200_gpio.
1024
1025 config PC8736x_GPIO
1026         tristate "NatSemi PC8736x GPIO Support"
1027         depends on X86_32
1028         default SCx200_GPIO     # mostly N
1029         select NSC_GPIO         # needed for support routines
1030         help
1031           Give userspace access to the GPIO pins on the National
1032           Semiconductor PC-8736x (x=[03456]) SuperIO chip.  The chip
1033           has multiple functional units, inc several managed by
1034           hwmon/pc87360 driver.  Tested with PC-87366
1035
1036           If compiled as a module, it will be called pc8736x_gpio.
1037
1038 config NSC_GPIO
1039         tristate "NatSemi Base GPIO Support"
1040         depends on X86_32
1041         # selected by SCx200_GPIO and PC8736x_GPIO
1042         # what about 2 selectors differing: m != y
1043         help
1044           Common support used (and needed) by scx200_gpio and
1045           pc8736x_gpio drivers.  If those drivers are built as
1046           modules, this one will be too, named nsc_gpio
1047
1048 config CS5535_GPIO
1049         tristate "AMD CS5535/CS5536 GPIO (Geode Companion Device)"
1050         depends on X86_32
1051         help
1052           Give userspace access to the GPIO pins on the AMD CS5535 and
1053           CS5536 Geode companion devices.
1054
1055           If compiled as a module, it will be called cs5535_gpio.
1056
1057 config RAW_DRIVER
1058         tristate "RAW driver (/dev/raw/rawN)"
1059         depends on BLOCK
1060         help
1061           The raw driver permits block devices to be bound to /dev/raw/rawN.
1062           Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
1063           See the raw(8) manpage for more details.
1064
1065           Applications should preferably open the device (eg /dev/hda1)
1066           with the O_DIRECT flag.
1067
1068 config MAX_RAW_DEVS
1069         int "Maximum number of RAW devices to support (1-8192)"
1070         depends on RAW_DRIVER
1071         default "256"
1072         help
1073           The maximum number of RAW devices that are supported.
1074           Default is 256. Increase this number in case you need lots of
1075           raw devices.
1076
1077 config HPET
1078         bool "HPET - High Precision Event Timer" if (X86 || IA64)
1079         default n
1080         depends on ACPI
1081         help
1082           If you say Y here, you will have a miscdevice named "/dev/hpet/".  Each
1083           open selects one of the timers supported by the HPET.  The timers are
1084           non-periodic and/or periodic.
1085
1086 config HPET_MMAP
1087         bool "Allow mmap of HPET"
1088         default y
1089         depends on HPET
1090         help
1091           If you say Y here, user applications will be able to mmap
1092           the HPET registers.
1093
1094           In some hardware implementations, the page containing HPET
1095           registers may also contain other things that shouldn't be
1096           exposed to the user.  If this applies to your hardware,
1097           say N here.
1098
1099 config HANGCHECK_TIMER
1100         tristate "Hangcheck timer"
1101         depends on X86 || IA64 || PPC64 || S390
1102         help
1103           The hangcheck-timer module detects when the system has gone
1104           out to lunch past a certain margin.  It can reboot the system
1105           or merely print a warning.
1106
1107 config MMTIMER
1108         tristate "MMTIMER Memory mapped RTC for SGI Altix"
1109         depends on IA64_GENERIC || IA64_SGI_SN2
1110         default y
1111         help
1112           The mmtimer device allows direct userspace access to the
1113           Altix system timer.
1114
1115 config UV_MMTIMER
1116         tristate "UV_MMTIMER Memory mapped RTC for SGI UV"
1117         depends on X86_UV
1118         default m
1119         help
1120           The uv_mmtimer device allows direct userspace access to the
1121           UV system timer.
1122
1123 source "drivers/char/tpm/Kconfig"
1124
1125 config TELCLOCK
1126         tristate "Telecom clock driver for ATCA SBC"
1127         depends on EXPERIMENTAL && X86
1128         default n
1129         help
1130           The telecom clock device is specific to the MPCBL0010 and MPCBL0050
1131           ATCA computers and allows direct userspace access to the
1132           configuration of the telecom clock configuration settings.  This
1133           device is used for hardware synchronization across the ATCA backplane
1134           fabric.  Upon loading, the driver exports a sysfs directory,
1135           /sys/devices/platform/telco_clock, with a number of files for
1136           controlling the behavior of this hardware.
1137
1138 config DEVPORT
1139         bool
1140         depends on !M68K
1141         depends on ISA || PCI
1142         default y
1143
1144 source "drivers/s390/char/Kconfig"
1145
1146 config RAMOOPS
1147         tristate "Log panic/oops to a RAM buffer"
1148         depends on HAS_IOMEM
1149         default n
1150         help
1151           This enables panic and oops messages to be logged to a circular
1152           buffer in RAM where it can be read back at some later point.
1153
1154 config S3C_MEM
1155         bool "Support for /dev/s3c-mem"
1156         default y
1157         ---help---
1158           If you do say Y here, you can allocate physically linear memories from system memory.
1159           And you can share the memory at the other process using re-allocation ioctl.
1160
1161           If unsure, say Y.
1162
1163 config S3C_MEM_CMA_ALLOC
1164         bool "Support for /dev/s3c-mem with CMA feature"
1165         depends on S3C_MEM
1166
1167 config VIDEO_SAMSUNG_MEMSIZE_S3C_MEM_CMA
1168         int "Memory size in kbytes for S3C_MEM_CMA"
1169         depends on S3C_MEM_CMA_ALLOC
1170         default "24576"
1171
1172 config VIDEO_SAMSUNG_SLOTSIZE_S3C_MEM_CMA
1173         int "Slot size in kbytes for S3C_MEM_CMA slot"
1174         depends on S3C_MEM_CMA_ALLOC
1175         default "1024"
1176
1177 config S3C_DMA_MEM
1178         bool "DMA memcpy operation"
1179         depends on S5P_SYSMMU && S3C_MEM && S3C_PL330_DMA
1180         default n
1181         help
1182           This enables to support dma memcpy operation.
1183
1184 config S5P_VMEM
1185         bool "Contiguous Virtual Memory Allocator for S5PV310(/dev/s5p-vmem)"
1186         default y
1187         ---help---
1188           Contiguous virtual memory allocator for Sys.MMUs in S5PV310. Say y if
1189           you want to allocate a memory space for a peripheral device with
1190           Sys.MMU.
1191
1192           If unsure, say Y.
1193
1194 endmenu
1195