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