Coarsly sort out 32-bit-only, 64-bit-only and ``portable'' MIPS lib/
[linux-2.6/linux-mips.git] / drivers / char / Kconfig
bloba3e59efd3fe35df8dc12866f7f78cd9df47b1c30
2 # Character device configuration
5 menu "Character devices"
7 config VT
8         bool "Virtual terminal"
9         requires INPUT=y
10         ---help---
11           If you say Y here, you will get support for terminal devices with
12           display and keyboard devices. These are called "virtual" because you
13           can run several virtual terminals (also called virtual consoles) on
14           one physical terminal. This is rather useful, for example one
15           virtual terminal can collect system messages and warnings, another
16           one can be used for a text-mode user session, and a third could run
17           an X session, all in parallel. Switching between virtual terminals
18           is done with certain key combinations, usually Alt-<function key>.
20           The setterm command ("man setterm") can be used to change the
21           properties (such as colors or beeping) of a virtual terminal. The
22           man page console_codes(4) ("man console_codes") contains the special
23           character sequences that can be used to change those properties
24           directly. The fonts used on virtual terminals can be changed with
25           the setfont ("man setfont") command and the key bindings are defined
26           with the loadkeys ("man loadkeys") command.
28           You need at least one virtual terminal device in order to make use
29           of your keyboard and monitor. Therefore, only people configuring an
30           embedded system would want to say N here in order to save some
31           memory; the only way to log into such a system is then via a serial
32           or network connection.
34           If unsure, say Y, or else you won't be able to do much with your new
35           shiny Linux system :-)
37 config VT_CONSOLE
38         bool "Support for console on virtual terminal"
39         depends on VT
40         ---help---
41           The system console is the device which receives all kernel messages
42           and warnings and which allows logins in single user mode. If you
43           answer Y here, a virtual terminal (the device used to interact with
44           a physical terminal) can be used as system console. This is the most
45           common mode of operations, so you should say Y here unless you want
46           the kernel messages be output only to a serial port (in which case
47           you should say Y to "Console on serial port", below).
49           If you do say Y here, by default the currently visible virtual
50           terminal (/dev/tty0) will be used as system console. You can change
51           that with a kernel command line option such as "console=tty3" which
52           would use the third virtual terminal as system console. (Try "man
53           bootparam" or see the documentation of your boot loader (lilo or
54           loadlin) about how to pass options to the kernel at boot time.)
56           If unsure, say Y.
58 config HW_CONSOLE
59         bool
60         depends on VT && !S390 && !UM
61         default y
63 config SERIAL_NONSTANDARD
64         bool "Non-standard serial port support"
65         ---help---
66           Say Y here if you have any non-standard serial boards -- boards
67           which aren't supported using the standard "dumb" serial driver.
68           This includes intelligent serial boards such as Cyclades,
69           Digiboards, etc. These are usually used for systems that need many
70           serial ports because they serve many terminals or dial-in
71           connections.
73           Note that the answer to this question won't directly affect the
74           kernel: saying N will just cause the configurator to skip all
75           the questions about non-standard serial boards.
77           Most people can say N here.
79 config COMPUTONE
80         tristate "Computone IntelliPort Plus serial support"
81         depends on SERIAL_NONSTANDARD
82         ---help---
83           This driver supports the entire family of Intelliport II/Plus
84           controllers with the exception of the MicroChannel controllers and
85           products previous to the Intelliport II. These are multiport cards,
86           which give you many serial ports. You would need something like this
87           to connect more than two modems to your Linux box, for instance in
88           order to become a dial-in server. If you have a card like that, say
89           Y here and read <file:Documentation/computone.txt>.
91           If you want to compile this as a module ( = code which can be
92           inserted in and removed from the running kernel whenever you want),
93           say M here and read <file:Documentation/modules.txt>. You will get
94           two modules called ip2 and ip2main.
96 config ROCKETPORT
97         tristate "Comtrol RocketPort support"
98         depends on SERIAL_NONSTANDARD
99         help
100           This driver supports Comtrol RocketPort and RocketModem PCI boards.   
101           These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
102           modems.  For information about the RocketPort/RocketModem  boards
103           and this driver read <file:Documentation/rocket.txt>.
105           If you want to compile this driver as a module, say M here and read
106           <file:Documentation/modules.txt>.  The module will be called
107           rocket.
109           If you want to compile this driver into the kernel, say Y here.  If
110           you don't have a Comtrol RocketPort/RocketModem card installed, say N.
112 config CYCLADES
113         tristate "Cyclades async mux support"
114         depends on SERIAL_NONSTANDARD
115         ---help---
116           This is a driver for a card that gives you many serial ports. You
117           would need something like this to connect more than two modems to
118           your Linux box, for instance in order to become a dial-in server.
119           For information about the Cyclades-Z card, read
120           <file:drivers/char/README.cycladesZ>.
122           As of 1.3.9x kernels, this driver's minor numbers start at 0 instead
123           of 32.
125           If you want to compile this as a module ( = code which can be
126           inserted in and removed from the running kernel whenever you want),
127           say M here and read <file:Documentation/modules.txt>.  The module
128           will be called cyclades.
130           If you haven't heard about it, it's safe to say N.
132 config CYZ_INTR
133         bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
134         depends on EXPERIMENTAL && CYCLADES
135         help
136           The Cyclades-Z family of multiport cards allows 2 (two) driver op
137           modes: polling and interrupt. In polling mode, the driver will check
138           the status of the Cyclades-Z ports every certain amount of time
139           (which is called polling cycle and is configurable). In interrupt
140           mode, it will use an interrupt line (IRQ) in order to check the
141           status of the Cyclades-Z ports. The default op mode is polling. If
142           unsure, say N.
144 config DIGIEPCA
145         tristate "Digiboard Intelligent Async Support"
146         depends on SERIAL_NONSTANDARD
147         ---help---
148           This is a driver for Digi International's Xx, Xeve, and Xem series
149           of cards which provide multiple serial ports. You would need
150           something like this to connect more than two modems to your Linux
151           box, for instance in order to become a dial-in server. This driver
152           supports the original PC (ISA) boards as well as PCI, and EISA. If
153           you have a card like this, say Y here and read the file
154           <file:Documentation/digiepca.txt>.
156           NOTE: There is another, separate driver for the Digiboard PC boards:
157           "Digiboard PC/Xx Support" below. You should (and can) only select
158           one of the two drivers.
160           If you want to compile this driver as a module, say M here and read
161           <file:Documentation/modules.txt>. The module will be called epca.
163 config DIGI
164         tristate "Digiboard PC/Xx Support"
165         depends on SERIAL_NONSTANDARD && DIGIEPCA=n
166         help
167           This is a driver for the Digiboard PC/Xe, PC/Xi, and PC/Xeve cards
168           that give you many serial ports. You would need something like this
169           to connect more than two modems to your Linux box, for instance in
170           order to become a dial-in server. If you have a card like that, say
171           Y here and read the file <file:Documentation/digiboard.txt>.
173           If you want to compile this driver as a module, say M here and read
174           <file:Documentation/modules.txt>. The module will be called pcxx.
176 config ESPSERIAL
177         tristate "Hayes ESP serial port support"
178         depends on SERIAL_NONSTANDARD && ISA
179         help
180           This is a driver which supports Hayes ESP serial ports.  Both single
181           port cards and multiport cards are supported.  Make sure to read
182           <file:Documentation/hayes-esp.txt>.
184           To compile this driver as a module ( = code which can be inserted in
185           and removed from the running kernel whenever you want), say M here
186           and read <file:Documentation/modules.txt>.  The module will be
187           called esp.  If unsure, say N.
189 config MOXA_INTELLIO
190         tristate "Moxa Intellio support"
191         depends on SERIAL_NONSTANDARD
192         help
193           Say Y here if you have a Moxa Intellio multiport serial card.
195           This driver can also be built as a module ( = code which can be
196           inserted in and removed from the running kernel whenever you want).
197           The module will be called moxa. If you want to do that, say M
198           here.
200 config MOXA_SMARTIO
201         tristate "Moxa SmartIO support"
202         depends on SERIAL_NONSTANDARD
203         help
204           Say Y here if you have a Moxa SmartIO multiport serial card.
206           This driver can also be built as a module ( = code which can be
207           inserted in and removed from the running kernel whenever you want).
208           The module will be called mxser. If you want to do that, say M
209           here.
211 config ISI
212         tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
213         depends on SERIAL_NONSTANDARD && EXPERIMENTAL && m
214         help
215           This is a driver for the Multi-Tech cards which provide several
216           serial ports.  The driver is experimental and can currently only be
217           built as a module ( = code which can be inserted in and removed from
218           the running kernel whenever you want).  Please read
219           <file:Documentation/modules.txt>.  The module will be called
220           isicom.
222 config SYNCLINK
223         tristate "Microgate SyncLink card support"
224         depends on SERIAL_NONSTANDARD
225         help
226           Provides support for the SyncLink ISA and PCI multiprotocol serial
227           adapters. These adapters support asynchronous and HDLC bit
228           synchronous communication up to 10Mbps (PCI adapter).
230           This driver can only be built as a module ( = code which can be
231           inserted in and removed from the running kernel whenever you want).
232           The module will be called synclink.  If you want to do that, say M
233           here.
235 config SYNCLINKMP
236         tristate "SyncLink Multiport support"
237         depends on SERIAL_NONSTANDARD
238         help
239           Enable support for the SyncLink Multiport (2 or 4 ports)
240           serial adapter, running asynchronous and HDLC communications up
241           to 2.048Mbps. Each ports is independently selectable for
242           RS-232, V.35, RS-449, RS-530, and X.21
244           This driver may be built as a module ( = code which can be
245           inserted in and removed from the running kernel whenever you want).
246           The module will be called synclinkmp.  If you want to do that, say M
247           here.
249 config N_HDLC
250         tristate "HDLC line discipline support"
251         depends on SERIAL_NONSTANDARD
252         help
253           Allows synchronous HDLC communications with tty device drivers that
254           support synchronous HDLC such as the Microgate SyncLink adapter.
256           This driver can only be built as a module ( = code which can be
257           inserted in and removed from the running kernel whenever you want).
258           The module will be called n_hdlc. If you want to do that, say M
259           here.
261 config RISCOM8
262         tristate "SDL RISCom/8 card support"
263         depends on SERIAL_NONSTANDARD
264         help
265           This is a driver for the SDL Communications RISCom/8 multiport card,
266           which gives you many serial ports. You would need something like
267           this to connect more than two modems to your Linux box, for instance
268           in order to become a dial-in server. If you have a card like that,
269           say Y here and read the file <file:Documentation/riscom8.txt>.
271           Also it's possible to say M here and compile this driver as kernel
272           loadable module; the module will be called riscom8.
274 config SPECIALIX
275         tristate "Specialix IO8+ card support"
276         depends on SERIAL_NONSTANDARD
277         help
278           This is a driver for the Specialix IO8+ multiport card (both the
279           ISA and the PCI version) which gives you many serial ports. You
280           would need something like this to connect more than two modems to
281           your Linux box, for instance in order to become a dial-in server.
283           If you have a card like that, say Y here and read the file
284           <file:Documentation/specialix.txt>. Also it's possible to say M here
285           and compile this driver as kernel loadable module which will be
286           called specialix.
288 config SPECIALIX_RTSCTS
289         bool "Specialix DTR/RTS pin is RTS"
290         depends on SPECIALIX
291         help
292           The Specialix IO8+ card can only support either RTS or DTR. If you
293           say N here, the driver will use the pin as "DTR" when the tty is in
294           software handshake mode.  If you say Y here or hardware handshake is
295           on, it will always be RTS.  Read the file
296           <file:Documentation/specialix.txt> for more information.
298 config SX
299         tristate "Specialix SX (and SI) card support"
300         depends on SERIAL_NONSTANDARD
301         help
302           This is a driver for the SX and SI multiport serial cards.
303           Please read the file <file:Documentation/sx.txt> for details.
305           This driver can only be built as a module ( = code which can be
306           inserted in and removed from the running kernel whenever you want).
307           The module will be called sx. If you want to do that, say M here.
309 config RIO
310         tristate "Specialix RIO system support"
311         depends on SERIAL_NONSTANDARD
312         help
313           This is a driver for the Specialix RIO, a smart serial card which
314           drives an outboard box that can support up to 128 ports.  Product
315           information is at <http://www.sphinxcst.co.uk/perle/multi.htm>.
316           There are both ISA and PCI versions.
318 config RIO_OLDPCI
319         bool "Support really old RIO/PCI cards"
320         depends on RIO
321         help
322           Older RIO PCI cards need some initialization-time configuration to
323           determine the IRQ and some control addresses.  If you have a RIO and
324           this doesn't seem to work, try setting this to Y.
326 config STALDRV
327         bool "Stallion multiport serial support"
328         depends on SERIAL_NONSTANDARD
329         help
330           Stallion cards give you many serial ports.  You would need something
331           like this to connect more than two modems to your Linux box, for
332           instance in order to become a dial-in server.  If you say Y here,
333           you will be asked for your specific card model in the next
334           questions.  Make sure to read <file:Documentation/stallion.txt> in
335           this case.  If you have never heard about all this, it's safe to
336           say N.
338 config STALLION
339         tristate "Stallion EasyIO or EC8/32 support"
340         depends on STALDRV
341         help
342           If you have an EasyIO or EasyConnection 8/32 multiport Stallion
343           card, then this is for you; say Y.  Make sure to read
344           <file:Documentation/stallion.txt>.
346           If you want to compile this as a module ( = code which can be
347           inserted in and removed from the running kernel whenever you want),
348           say M here and read <file:Documentation/modules.txt>.  The module
349           will be called stallion.
351 config ISTALLION
352         tristate "Stallion EC8/64, ONboard, Brumby support"
353         depends on STALDRV
354         help
355           If you have an EasyConnection 8/64, ONboard, Brumby or Stallion
356           serial multiport card, say Y here. Make sure to read
357           <file:Documentation/stallion.txt>.
359           To compile it as a module ( = code which can be inserted in and
360           removed from the running kernel whenever you want), say M here and
361           read <file:Documentation/modules.txt>. The module will be called
362           istallion.
364 config AU1X00_GPIO
365         tristate "Alchemy Au1000 GPIO device support"
366         depends on MIPS && SOC_AU1X00
368 config TS_AU1X00_ADS7846
369         tristate "Au1000/ADS7846 touchscreen support"
370         depends on MIPS && SOC_AU1X00
372 config AU1X00_USB_TTY
373         tristate "Au1000 USB TTY Device support"
374         depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_DEVICE
376 config AU1X00_USB_RAW
377         tristate "Au1000 USB Raw Device support"
378         depends on MIPS && MIPS_AU1000 && AU1000_USB_DEVICE=y && AU1000_USB_TTY!=y && AU1X00_USB_DEVICE
380 config SERIAL_TX3912
381         bool "TX3912/PR31700 serial port support"
382         depends on MIPS && CPU_TX39XX=y
383         help
384           The TX3912 is a Toshiba RISC processor based o the MIPS 3900 core;
385           see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
386           Say Y here to enable kernel support for the on-board serial port.
388 config SERIAL_TX3912_CONSOLE
389         bool "Console on TX3912/PR31700 serial port"
390         depends on SERIAL_TX3912
391         help
392           The TX3912 is a Toshiba RISC processor based o the MIPS 3900 core;
393           see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
394           Say Y here to direct console I/O to the on-board serial port.
396 config TXX927_SERIAL
397         bool "TXx927 SIO support"
398         depends on MIPS && CPU_TX39XX=y
400 config TXX927_SERIAL_CONSOLE
401         bool "TXx927 SIO Console support"
402         depends on TXX927_SERIAL
404 config SERIAL_TXX9
405         bool "TMPTX39XX/49XX SIO support"
406         depends on MIPS && TOSHIBA_BOARDS=y
408 config SERIAL_TXX9_CONSOLE
409         bool "TMPTX39XX/49XX SIO Console support"
410         depends on SERIAL_TXX9
412 config SIBYTE_SB1250_DUART
413         bool "Support for BCM1xxx onchip DUART"
414         depends on MIPS && SIBYTE_SB1xxx_SOC=y
416 config SIBYTE_SB1250_DUART_CONSOLE
417         bool "Console on BCM1xxx DUART"
418         depends on SIBYTE_SB1250_DUART
420 config SERIAL_CONSOLE
421         bool
422         depends on SIBYTE_SB1250_DUART_CONSOLE
423         default y
425 config QTRONIX_KEYBOARD
426         bool "Enable Qtronix 990P Keyboard Support"
427         depends on MIPS && (MIPS_ITE8172 || MIPS_IVR)
428         help
429           Images of Qtronix keyboards are at
430           <http://www.qtronix.com/keyboard.html>.
432 config IT8172_CIR
433         bool
434         depends on QTRONIX_KEYBOARD
435         default y
437 config IT8172_SCR0
438         bool "Enable Smart Card Reader 0 Support "
439         depends on MIPS && (MIPS_ITE8172 || MIPS_IVR)
440         help
441           Say Y here to support smart-card reader 0 (SCR0) on the Integrated
442           Technology Express, Inc. ITE8172 SBC.  Vendor page at
443           <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
444           board at <http://www.mvista.com/allies/semiconductor/ite.html>.
446 config IT8172_SCR1
447         bool "Enable Smart Card Reader 1 Support "
448         depends on MIPS && (MIPS_ITE8172 || MIPS_IVR) && MIPS_ITE8172
449         help
450           Say Y here to support smart-card reader 1 (SCR1) on the Integrated
451           Technology Express, Inc. ITE8172 SBC.  Vendor page at
452           <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
453           board at <http://www.mvista.com/allies/semiconductor/ite.html>.
455 config ITE_GPIO
456         tristate "ITE GPIO"
457         depends on MIPS && MIPS_ITE8172
459 config VAC_SERIAL
460         tristate "Baget VAC serial support (EXPERIMENTAL)"
461         depends on EXPERIMENTAL && BAGET_MIPS
462         help
463           This enables the driver for the Baget's VAC RS232 seriall driver.
465 config A2232
466         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
467         depends on EXPERIMENTAL && ZORRO
468         ---help---
469           This option supports the 2232 7-port serial card shipped with the
470           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
471           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
472           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
473           ports were connected with 8 pin DIN connectors on the card bracket,
474           for which 8 pin to DB25 adapters were supplied. The card also had
475           jumpers internally to toggle various pinning configurations.
477           This driver can be built as a module; but then "generic_serial"
478           will also be built as a module. This has to be loaded before
479           "ser_a2232". If you want to do this, answer M here and read
480           "<file:Documentation/modules.txt>".
482 source "drivers/serial/Kconfig"
484 config UNIX98_PTYS
485         bool "Unix98 PTY support"
486         ---help---
487           A pseudo terminal (PTY) is a software device consisting of two
488           halves: a master and a slave. The slave device behaves identical to
489           a physical terminal; the master device is used by a process to
490           read data from and write data to the slave, thereby emulating a
491           terminal. Typical programs for the master side are telnet servers
492           and xterms.
494           Linux has traditionally used the BSD-like names /dev/ptyxx for
495           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
496           has a number of problems. The GNU C library glibc 2.1 and later,
497           however, supports the Unix98 naming standard: in order to acquire a
498           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
499           terminal is then made available to the process and the pseudo
500           terminal slave can be accessed as /dev/pts/<number>. What was
501           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
503           The entries in /dev/pts/ are created on the fly by a virtual
504           file system; therefore, if you say Y here you should say Y to
505           "/dev/pts file system for Unix98 PTYs" as well.
507           If you want to say Y here, you need to have the C library glibc 2.1
508           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
509           Read the instructions in <file:Documentation/Changes> pertaining to
510           pseudo terminals. It's safe to say N.
512 config UNIX98_PTY_COUNT
513         int "Maximum number of Unix98 PTYs in use (0-2048)"
514         depends on UNIX98_PTYS
515         default "256"
516         help
517           The maximum number of Unix98 PTYs that can be used at any one time.
518           The default is 256, and should be enough for desktop systems. Server
519           machines which support incoming telnet/rlogin/ssh connections and/or
520           serve several X terminals may want to increase this: every incoming
521           connection and every xterm uses up one PTY.
523           When not in use, each additional set of 256 PTYs occupy
524           approximately 8 KB of kernel memory on 32-bit architectures.
526 config PRINTER
527         tristate "Parallel printer support"
528         depends on PARPORT
529         ---help---
530           If you intend to attach a printer to the parallel port of your Linux
531           box (as opposed to using a serial printer; if the connector at the
532           printer has 9 or 25 holes ["female"], then it's serial), say Y.
533           Also read the Printing-HOWTO, available from
534           <http://www.tldp.org/docs.html#howto>.
536           It is possible to share one parallel port among several devices
537           (e.g. printer and ZIP drive) and it is safe to compile the
538           corresponding drivers into the kernel.  If you want to compile this
539           driver as a module however ( = code which can be inserted in and
540           removed from the running kernel whenever you want), say M here and
541           read <file:Documentation/modules.txt> and
542           <file:Documentation/parport.txt>.  The module will be called lp.
544           If you have several parallel ports, you can specify which ports to
545           use with the "lp" kernel command line option.  (Try "man bootparam"
546           or see the documentation of your boot loader (lilo or loadlin) about
547           how to pass options to the kernel at boot time.)  The syntax of the
548           "lp" command line option can be found in <file:drivers/char/lp.c>.
550           If you have more than 8 printers, you need to increase the LP_NO
551           macro in lp.c and the PARPORT_MAX macro in parport.h.
553 config LP_CONSOLE
554         bool "Support for console on line printer"
555         depends on PRINTER
556         ---help---
557           If you want kernel messages to be printed out as they occur, you
558           can have a console on the printer. This option adds support for
559           doing that; to actually get it to happen you need to pass the
560           option "console=lp0" to the kernel at boot time.
562           If the printer is out of paper (or off, or unplugged, or too
563           busy..) the kernel will stall until the printer is ready again.
564           By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
565           can make the kernel continue when this happens,
566           but it'll lose the kernel messages.
568           If unsure, say N.
570 config PPDEV
571         tristate "Support for user-space parallel port device drivers"
572         depends on PARPORT
573         ---help---
574           Saying Y to this adds support for /dev/parport device nodes.  This
575           is needed for programs that want portable access to the parallel
576           port, for instance deviceid (which displays Plug-and-Play device
577           IDs).
579           This is the parallel port equivalent of SCSI generic support (sg).
580           It is safe to say N to this -- it is not needed for normal printing
581           or parallel port CD-ROM/disk support.
583           This support is also available as a module.  If you want to compile
584           it as a module, say M here and read
585           <file:Documentation/modules.txt>.  The module will be called
586           ppdev.
588           If unsure, say N.
590 config TIPAR
591         tristate "Texas Instruments parallel link cable support"
592         depends on PARPORT
593         ---help---
594           If you own a Texas Instruments graphing calculator and use a
595           parallel link cable, then you might be interested in this driver.
597           If you enable this driver, you will be able to communicate with
598           your calculator through a set of device nodes under /dev. The
599           main advantage of this driver is that you don't have to be root
600           to use this precise link cable (depending on the permissions on
601           the device nodes, though).
603           This code is also available as a module ( = code which can be
604           inserted in and removed from the running kernel whenever you want).
605           The module will be called tipar. If you want to compile it as a
606           module, say M here and read Documentation/modules.txt.
608           If you don't know what a parallel link cable is or what a Texas
609           Instruments graphing calculator is, then you probably don't need this
610           driver.
612           If unsure, say N.
614 config HVC_CONSOLE
615         bool "pSeries Hypervisor Virtual Console support"
616         depends on PPC_PSERIES
617         help
618           pSeries machines when partitioned support a hypervisor virtual
619           console. This driver allows each pSeries partition to have a console
620           which is accessed via the HMC.
622 config PC9800_OLDLP
623         tristate "NEC PC-9800 old-style printer port support"
624         depends on X86_PC9800 && !PARPORT
625         ---help---
626           If you intend to attach a printer to the parallel port of NEC PC-9801
627           /PC-9821 with OLD compatibility mode, Say Y.
629 config PC9800_OLDLP_CONSOLE
630         bool "Support for console on line printer"
631         depends on PC9800_OLDLP
633 source "drivers/i2c/Kconfig"
636 menu "Mice"
638 config BUSMOUSE
639         tristate "Bus Mouse Support"
640         ---help---
641           Say Y here if your machine has a bus mouse as opposed to a serial
642           mouse. Most people have a regular serial MouseSystem or
643           Microsoft mouse (made by Logitech) that plugs into a COM port
644           (rectangular with 9 or 25 pins). These people say N here. 
646           If you have a laptop, you either have to check the documentation or
647           experiment a bit to find out whether the trackball is a serial mouse
648           or not; it's best to say Y here for you.
650           This is the generic bus mouse driver code. If you have a bus mouse,
651           you will have to say Y here and also to the specific driver for your
652           mouse below.
654           This code is also available as a module ( = code which can be
655           inserted in and removed from the running kernel whenever you want).
656           The module will be called busmouse. If you want to compile it as a
657           module, say M here and read <file:Documentation/modules.txt>.
659 endmenu
661 config QIC02_TAPE
662         tristate "QIC-02 tape support"
663         help
664           If you have a non-SCSI tape drive like that, say Y. Or, if you want
665           to compile this driver as a module ( = code which can be inserted in
666           and removed from the running kernel whenever you want), say M here
667           and read <file:Documentation/modules.txt>. The module will be called
668           tpqic02.
670 config QIC02_DYNCONF
671         bool "Do you want runtime configuration for QIC-02"
672         depends on QIC02_TAPE
673         help
674           You can either configure this driver once and for all by editing a
675           header file (<file:include/linux/tpqic02.h>), in which case you
676           should say N, or you can fetch a program via anonymous FTP which is
677           able to configure this driver during runtime.  The program to do
678           this is called 'qic02conf' and it is part of the
679           tpqic02-support-X.Y.tar.gz support package.
681           If you want to use the qic02conf program, say Y.
683 comment "Edit configuration parameters in ./include/linux/tpqic02.h!"
684         depends on QIC02_TAPE && !QIC02_DYNCONF
686 comment "Setting runtime QIC-02 configuration is done with qic02conf"
687         depends on QIC02_TAPE && QIC02_DYNCONF
689 comment "from the tpqic02-support package.  It is available at"
690         depends on QIC02_TAPE && QIC02_DYNCONF
692 comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/"
693         depends on QIC02_TAPE && QIC02_DYNCONF
695 source "drivers/char/ipmi/Kconfig"
697 source "drivers/char/watchdog/Kconfig"
699 config DS1620
700         tristate "NetWinder thermometer support"
701         depends on ARCH_NETWINDER
702         help
703           Say Y here to include support for the thermal management hardware
704           found in the NetWinder. This driver allows the user to control the
705           temperature set points and to read the current temperature.
707           It is also possible to say M here to build it as a module (ds1620)
708           It is recommended to be used on a NetWinder, but it is not a
709           necessity.
711 config NWBUTTON
712         tristate "NetWinder Button"
713         depends on ARCH_NETWINDER
714         ---help---
715           If you say Y here and create a character device node /dev/nwbutton
716           with major and minor numbers 10 and 158 ("man mknod"), then every
717           time the orange button is pressed a number of times, the number of
718           times the button was pressed will be written to that device.
720           This is most useful for applications, as yet unwritten, which
721           perform actions based on how many times the button is pressed in a
722           row.
724           Do not hold the button down for too long, as the driver does not
725           alter the behaviour of the hardware reset circuitry attached to the
726           button; it will still execute a hard reset if the button is held
727           down for longer than approximately five seconds.
729           This driver is also available as a module ( = code which can be
730           inserted in and removed from the running kernel whenever you want).
731           If you want to compile it as a module, say M here and read
732           <file:Documentation/modules.txt>.  The module will be called
733           nwbutton.
735           Most people will answer Y to this question and "Reboot Using Button"
736           below to be able to initiate a system shutdown from the button.
738 config NWBUTTON_REBOOT
739         bool "Reboot Using Button"
740         depends on NWBUTTON
741         help
742           If you say Y here, then you will be able to initiate a system
743           shutdown and reboot by pressing the orange button a number of times.
744           The number of presses to initiate the shutdown is two by default,
745           but this can be altered by modifying the value of NUM_PRESSES_REBOOT
746           in nwbutton.h and recompiling the driver or, if you compile the
747           driver as a module, you can specify the number of presses at load
748           time with "insmod button reboot_count=<something>".
750 config NWFLASH
751         tristate "NetWinder flash support"
752         depends on ARCH_NETWINDER
753         ---help---
754           If you say Y here and create a character device /dev/flash with
755           major 10 and minor 160 you can manipulate the flash ROM containing
756           the NetWinder firmware. Be careful as accidentally overwriting the
757           flash contents can render your computer unbootable. On no account
758           allow random users access to this device. :-)
760           This driver is also available as a module ( = code which can be
761           inserted in and removed from the running kernel whenever you want).
762           The module will be called nwflash. If you want to compile it as a
763           module, say M here and read <file:Documentation/modules.txt>.
765           If you're not sure, say N.
767 config HW_RANDOM
768         tristate "Intel/AMD/VIA HW Random Number Generator support"
769         depends on (X86 || IA64) && PCI
770         ---help---
771           This driver provides kernel-side support for the Random Number
772           Generator hardware found on Intel i8xx-based motherboards,
773           AMD 76x-based motherboards, and Via Nehemiah CPUs.
775           Provides a character driver, used to read() entropy data.
777           To compile this driver as a module ( = code which can be inserted in
778           and removed from the running kernel whenever you want), say M here
779           and read <file:Documentation/modules.txt>. The module will be called
780           hw_random.
782           If unsure, say N.
784 config NVRAM
785         tristate "/dev/nvram support"
786         ---help---
787           If you say Y here and create a character special file /dev/nvram
788           with major number 10 and minor number 144 using mknod ("man mknod"),
789           you get read and write access to the extra bytes of non-volatile
790           memory in the real time clock (RTC), which is contained in every PC
791           and most Ataris.  The actual number of bytes varies, depending on the
792           nvram in the system, but is usually 114 (128-14 for the RTC).
794           This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
795           on Ataris. /dev/nvram may be used to view settings there, or to
796           change them (with some utility). It could also be used to frequently
797           save a few bits of very important data that may not be lost over
798           power-off and for which writing to disk is too insecure. Note
799           however that most NVRAM space in a PC belongs to the BIOS and you
800           should NEVER idly tamper with it. See Ralf Brown's interrupt list
801           for a guide to the use of CMOS bytes by your BIOS.
803           On Atari machines, /dev/nvram is always configured and does not need
804           to be selected.
806           This driver is also available as a module ( = code which can be
807           inserted in and removed from the running kernel whenever you want).
808           The module will be called nvram. If you want to compile it as a
809           module, say M here and read <file:Documentation/modules.txt>.
811 config RTC
812         tristate "Enhanced Real Time Clock Support"
813         depends on !PPC32 && !PARISC && !IA64 && !X86_PC9800
814         ---help---
815           If you say Y here and create a character special file /dev/rtc with
816           major number 10 and minor number 135 using mknod ("man mknod"), you
817           will get access to the real time clock (or hardware clock) built
818           into your computer.
820           Every PC has such a clock built in. It can be used to generate
821           signals from as low as 1Hz up to 8192Hz, and can also be used
822           as a 24 hour alarm. It reports status information via the file
823           /proc/driver/rtc and its behaviour is set by various ioctls on
824           /dev/rtc.
826           If you run Linux on a multiprocessor machine and said Y to
827           "Symmetric Multi Processing" above, you should say Y here to read
828           and set the RTC in an SMP compatible fashion.
830           If you think you have a use for such a device (such as periodic data
831           sampling), then say Y here, and read <file:Documentation/rtc.txt>
832           for details.
834           This driver is also available as a module ( = code which can be
835           inserted in and removed from the running kernel whenever you want).
836           The module is called rtc. If you want to compile it as a module,
837           say M here and read <file:Documentation/modules.txt>.
839 config GEN_RTC
840         tristate "Generic /dev/rtc emulation"
841         depends on RTC!=y
842         ---help---
843           If you say Y here and create a character special file /dev/rtc with
844           major number 10 and minor number 135 using mknod ("man mknod"), you
845           will get access to the real time clock (or hardware clock) built
846           into your computer.
848           It reports status information via the file /proc/driver/rtc and its
849           behaviour is set by various ioctls on /dev/rtc. If you enable the
850           "extended RTC operation" below it will also provide an emulation
851           for RTC_UIE which is required by some programs and may improve
852           precision in some cases.
854           This driver is also available as a module ( = code which can be
855           inserted in and removed from the running kernel whenever you want).
856           The module is called genrtc. If you want to compile it as a module,
857           say M here and read <file:Documentation/modules.txt>. To load the
858           module automatically add 'alias char-major-10-135 genrtc' to your
859           /etc/modules.conf
861 config GEN_RTC_X
862         bool "Extended RTC operation"
863         depends on GEN_RTC
864         help
865           Provides an emulation for RTC_UIE which is required by some programs
866           and may improve precision of the generic RTC support in some cases.
868 config EFI_RTC
869         bool "EFI Real Time Clock Services"
870         depends on IA64
872 config RTC98
873         tristate "NEC PC-9800 Real Time Clock Support"
874         depends on X86_PC9800
875         default y
876         ---help---
877           If you say Y here and create a character special file /dev/rtc with
878           major number 10 and minor number 135 using mknod ("man mknod"), you
879           will get access to the real time clock (or hardware clock) built
881 config SGI_DS1286
882         bool "SGI DS1286 RTC support"
883         depends on SGI_IP22
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 built into your computer.
888           Every SGI has such a clock built in. It reports status information
889           via the file /proc/rtc and its behaviour is set by various ioctls on
890           /dev/rtc.
892 config SGI_IP27_RTC
893         bool "SGI M48T35 RTC support"
894         depends on SGI_IP27
895         help
896           If you say Y here and create a character special file /dev/rtc with
897           major number 10 and minor number 135 using mknod ("man mknod"), you
898           will get access to the real time clock built into your computer.
899           Every SGI has such a clock built in. It reports status information
900           via the file /proc/rtc and its behaviour is set by various ioctls on
901           /dev/rtc.
903 config H8
904         bool "Tadpole ANA H8 Support (OBSOLETE)"
905         depends on OBSOLETE && ALPHA_BOOK1
906         help
907           The Hitachi H8/337 is a microcontroller used to deal with the power
908           and thermal environment. If you say Y here, you will be able to
909           communicate with it via a character special device.
911           If unsure, say N.
913 config DTLK
914         tristate "Double Talk PC internal speech card support"
915         help
916           This driver is for the DoubleTalk PC, a speech synthesizer
917           manufactured by RC Systems (<http://www.rcsys.com/>).  It is also
918           called the `internal DoubleTalk'.  If you want to compile this as a
919           module ( = code which can be inserted in and removed from the
920           running kernel whenever you want), say M here and read
921           <file:Documentation/modules.txt>. The module will be called dtlk.
923 config R3964
924         tristate "Siemens R3964 line discipline"
925         ---help---
926           This driver allows synchronous communication with devices using the
927           Siemens R3964 packet protocol. Unless you are dealing with special
928           hardware like PLCs, you are unlikely to need this.
930           To compile this driver as a module ( = code which can be inserted in
931           and removed from the running kernel whenever you want), say M here
932           and read <file:Documentation/modules.txt>. The module will be called
933           n_r3964.
935           If unsure, say N.
937 config APPLICOM
938         tristate "Applicom intelligent fieldbus card support"
939         ---help---
940           This driver provides the kernel-side support for the intelligent
941           fieldbus cards made by Applicom International. More information
942           about these cards can be found on the WWW at the address
943           <http://www.applicom-int.com/>, or by email from David Woodhouse
944           <dwmw2@infradead.org>.
946           To compile this driver as a module ( = code which can be inserted in
947           and removed from the running kernel whenever you want), say M here
948           and read <file:Documentation/modules.txt>. The module will be called
949           applicom.
951           If unsure, say N.
953 config SONYPI
954         tristate "Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)"
955         depends on EXPERIMENTAL && X86 && PCI
956         ---help---
957           This driver enables access to the Sony Programmable I/O Control
958           Device which can be found in many (all ?) Sony Vaio laptops.
960           If you have one of those laptops, read
961           <file:Documentation/sonypi.txt>, and say Y or M here.
963           If you want to compile the driver as a module ( = code which can be
964           inserted in and removed from the running kernel whenever you want),
965           say M here and read <file:Documentation/modules.txt>.  The module
966           will be called sonypi.
969 menu "Ftape, the floppy tape device driver"
971 config FTAPE
972         tristate "Ftape (QIC-80/Travan) support"
973         ---help---
974           If you have a tape drive that is connected to your floppy
975           controller, say Y here.
977           Some tape drives (like the Seagate "Tape Store 3200" or the Iomega
978           "Ditto 3200" or the Exabyte "Eagle TR-3") come with a "high speed"
979           controller of their own. These drives (and their companion
980           controllers) are also supported if you say Y here.
982           If you have a special controller (such as the CMS FC-10, FC-20,
983           Mountain Mach-II, or any controller that is based on the Intel 82078
984           FDC like the high speed controllers by Seagate and Exabyte and
985           Iomega's "Ditto Dash") you must configure it by selecting the
986           appropriate entries from the "Floppy tape controllers" sub-menu
987           below and possibly modify the default values for the IRQ and DMA
988           channel and the IO base in ftape's configuration menu.
990           If you want to use your floppy tape drive on a PCI-bus based system,
991           please read the file <file:drivers/char/ftape/README.PCI>.
993           The ftape kernel driver is also available as a runtime loadable
994           module ( = code which can be inserted in and removed from the
995           running kernel whenever you want). If you want to compile it as a
996           module, say M here and read <file:Documentation/modules.txt>. The
997           module will be called ftape.
999           Note that the Ftape-HOWTO is out of date (sorry) and documents the
1000           older version 2.08 of this software but still contains useful
1001           information.  There is a web page with more recent documentation at
1002           <http://www.instmath.rwth-aachen.de/~heine/ftape/>.  This page
1003           always contains the latest release of the ftape driver and useful
1004           information (backup software, ftape related patches and
1005           documentation, FAQ).  Note that the file system interface has
1006           changed quite a bit compared to previous versions of ftape.  Please
1007           read <file:Documentation/ftape.txt>.
1009 source "drivers/char/ftape/Kconfig"
1011 endmenu
1013 source "drivers/char/agp/Kconfig"
1015 source "drivers/char/drm/Kconfig"
1017 source "drivers/char/pcmcia/Kconfig"
1019 config MWAVE
1020         tristate "ACP Modem (Mwave) support"
1021         depends on X86
1022         ---help---
1023           The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
1024           kernel driver and a user level application. Together these components
1025           support direct attachment to public switched telephone networks (PSTNs)
1026           and support selected world wide countries.
1028           This version of the ACP Modem driver supports the IBM Thinkpad 600E,
1029           600, and 770 that include on board ACP modem hardware.
1031           The modem also supports the standard communications port interface
1032           (ttySx) and is compatible with the Hayes AT Command Set.
1034           The user level application needed to use this driver can be found at
1035           the IBM Linux Technology Center (LTC) web site:
1036           <http://www.ibm.com/linux/ltc/>.
1038           If you own one of the above IBM Thinkpads which has the Mwave chipset
1039           in it, say Y.
1041           This driver is also available as a module ( = code which can be
1042           inserted in and removed from the running kernel whenever you want).
1043           The module will be called mwave. If you want to compile it as
1044           a module, say M here and read Documentation/modules.txt.
1046 config SCx200_GPIO
1047         tristate "NatSemi SCx200 GPIO Support"
1048         depends on SCx200
1049         help
1050           Give userspace access to the GPIO pins on the National
1051           Semiconductor SCx200 processors.
1053           If compiled as a module, it will be called scx200_gpio.
1055 config RAW_DRIVER
1056         tristate "RAW driver (/dev/raw/rawN)"
1057         help
1058           The raw driver permits block devices to be bound to /dev/raw/rawN. 
1059           Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. 
1060           See the raw(8) manpage for more details.
1062 config HANGCHECK_TIMER
1063         tristate "Hangcheck timer"
1064         help
1065           The hangcheck-timer module detects when the system has gone
1066           out to lunch past a certain margin.  It can reboot the system
1067           or merely print a warning.
1069 endmenu