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