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