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