Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / drivers / tty / Kconfig
blob261b6da8018581b3207c7a1418a8f0639210c433
1 config VT
2         bool "Virtual terminal" if EXPERT
3         depends on !S390 && !UML
4         select INPUT
5         default y
6         ---help---
7           If you say Y here, you will get support for terminal devices with
8           display and keyboard devices. These are called "virtual" because you
9           can run several virtual terminals (also called virtual consoles) on
10           one physical terminal. This is rather useful, for example one
11           virtual terminal can collect system messages and warnings, another
12           one can be used for a text-mode user session, and a third could run
13           an X session, all in parallel. Switching between virtual terminals
14           is done with certain key combinations, usually Alt-<function key>.
16           The setterm command ("man setterm") can be used to change the
17           properties (such as colors or beeping) of a virtual terminal. The
18           man page console_codes(4) ("man console_codes") contains the special
19           character sequences that can be used to change those properties
20           directly. The fonts used on virtual terminals can be changed with
21           the setfont ("man setfont") command and the key bindings are defined
22           with the loadkeys ("man loadkeys") command.
24           You need at least one virtual terminal device in order to make use
25           of your keyboard and monitor. Therefore, only people configuring an
26           embedded system would want to say N here in order to save some
27           memory; the only way to log into such a system is then via a serial
28           or network connection.
30           If unsure, say Y, or else you won't be able to do much with your new
31           shiny Linux system :-)
33 config CONSOLE_TRANSLATIONS
34         depends on VT
35         default y
36         bool "Enable character translations in console" if EXPERT
37         ---help---
38           This enables support for font mapping and Unicode translation
39           on virtual consoles.
41 config VT_CONSOLE
42         bool "Support for console on virtual terminal" if EXPERT
43         depends on VT
44         default y
45         ---help---
46           The system console is the device which receives all kernel messages
47           and warnings and which allows logins in single user mode. If you
48           answer Y here, a virtual terminal (the device used to interact with
49           a physical terminal) can be used as system console. This is the most
50           common mode of operations, so you should say Y here unless you want
51           the kernel messages be output only to a serial port (in which case
52           you should say Y to "Console on serial port", below).
54           If you do say Y here, by default the currently visible virtual
55           terminal (/dev/tty0) will be used as system console. You can change
56           that with a kernel command line option such as "console=tty3" which
57           would use the third virtual terminal as system console. (Try "man
58           bootparam" or see the documentation of your boot loader (lilo or
59           loadlin) about how to pass options to the kernel at boot time.)
61           If unsure, say Y.
63 config VT_CONSOLE_SLEEP
64         def_bool y
65         depends on VT_CONSOLE && PM_SLEEP
67 menuconfig VT_CKO
68         bool "Colored kernel message output"
69         depends on VT_CONSOLE
70         ---help---
71           This option enables kernel messages to be emitted in
72           colors other than the default.
74           The color value you need to enter is composed (OR-ed)
75           of a foreground and a background color.
77           Foreground:
78           0x00 = black,   0x08 = dark gray,
79           0x01 = red,     0x09 = light red,
80           0x02 = green,   0x0A = light green,
81           0x03 = brown,   0x0B = yellow,
82           0x04 = blue,    0x0C = light blue,
83           0x05 = magenta, 0x0D = light magenta,
84           0x06 = cyan,    0x0E = light cyan,
85           0x07 = gray,    0x0F = white,
87           (Foreground colors 0x08 to 0x0F do not work when a VGA
88           console font with 512 glyphs is used.)
90           Background:
91           0x00 = black,   0x40 = blue,
92           0x10 = red,     0x50 = magenta,
93           0x20 = green,   0x60 = cyan,
94           0x30 = brown,   0x70 = gray,
96           For example, 0x1F would yield white on red.
98           If unsure, say N.
100 config VT_PRINTK_EMERG_COLOR
101         hex "Emergency messages color"
102         range 0x00 0xFF
103         depends on VT_CKO
104         default 0x07
105         ---help---
106           This option defines with which color kernel emergency messages will
107           be printed to the console.
109 config VT_PRINTK_ALERT_COLOR
110         hex "Alert messages color"
111         range 0x00 0xFF
112         depends on VT_CKO
113         default 0x07
114         ---help---
115           This option defines with which color kernel alert messages will
116           be printed to the console.
118 config VT_PRINTK_CRIT_COLOR
119         hex "Critical messages color"
120         range 0x00 0xFF
121         depends on VT_CKO
122         default 0x07
123         ---help---
124           This option defines with which color kernel critical messages will
125           be printed to the console.
127 config VT_PRINTK_ERR_COLOR
128         hex "Error messages color"
129         range 0x00 0xFF
130         depends on VT_CKO
131         default 0x07
132         ---help---
133           This option defines with which color kernel error messages will
134           be printed to the console.
136 config VT_PRINTK_WARNING_COLOR
137         hex "Warning messages color"
138         range 0x00 0xFF
139         depends on VT_CKO
140         default 0x07
141         ---help---
142           This option defines with which color kernel warning messages will
143           be printed to the console.
145 config VT_PRINTK_NOTICE_COLOR
146         hex "Notice messages color"
147         range 0x00 0xFF
148         depends on VT_CKO
149         default 0x07
150         ---help---
151           This option defines with which color kernel notice messages will
152           be printed to the console.
154 config VT_PRINTK_INFO_COLOR
155         hex "Information messages color"
156         range 0x00 0xFF
157         depends on VT_CKO
158         default 0x07
159         ---help---
160           This option defines with which color kernel information messages will
161           be printed to the console.
163 config VT_PRINTK_DEBUG_COLOR
164         hex "Debug messages color"
165         range 0x00 0xFF
166         depends on VT_CKO
167         default 0x07
168         ---help---
169           This option defines with which color kernel debug messages will
170           be printed to the console.
172 config NR_TTY_DEVICES
173         int "Maximum tty device number"
174         depends on VT
175         range 12 63
176         default 63
177         ---help---
178           This option is used to change the number of tty devices in /dev.
179           The default value is 63. The lowest number you can set is 12,
180           63 is also the upper limit so we don't overrun the serial
181           consoles.
183           If unsure, say 63.
185 config HW_CONSOLE
186         bool
187         depends on VT && !UML
188         default y
190 config VT_HW_CONSOLE_BINDING
191        bool "Support for binding and unbinding console drivers"
192        depends on HW_CONSOLE
193        default n
194        ---help---
195          The virtual terminal is the device that interacts with the physical
196          terminal through console drivers. On these systems, at least one
197          console driver is loaded. In other configurations, additional console
198          drivers may be enabled, such as the framebuffer console. If more than
199          1 console driver is enabled, setting this to 'y' will allow you to
200          select the console driver that will serve as the backend for the
201          virtual terminals.
203          See <file:Documentation/console/console.txt> for more
204          information. For framebuffer console users, please refer to
205          <file:Documentation/fb/fbcon.txt>.
207 config UNIX98_PTYS
208         bool "Unix98 PTY support" if EXPERT
209         default y
210         ---help---
211           A pseudo terminal (PTY) is a software device consisting of two
212           halves: a master and a slave. The slave device behaves identical to
213           a physical terminal; the master device is used by a process to
214           read data from and write data to the slave, thereby emulating a
215           terminal. Typical programs for the master side are telnet servers
216           and xterms.
218           Linux has traditionally used the BSD-like names /dev/ptyxx for
219           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
220           has a number of problems. The GNU C library glibc 2.1 and later,
221           however, supports the Unix98 naming standard: in order to acquire a
222           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
223           terminal is then made available to the process and the pseudo
224           terminal slave can be accessed as /dev/pts/<number>. What was
225           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
227           All modern Linux systems use the Unix98 ptys.  Say Y unless
228           you're on an embedded system and want to conserve memory.
230 config DEVPTS_MULTIPLE_INSTANCES
231         bool "Support multiple instances of devpts"
232         depends on UNIX98_PTYS
233         default n
234         ---help---
235           Enable support for multiple instances of devpts filesystem.
236           If you want to have isolated PTY namespaces (eg: in containers),
237           say Y here.  Otherwise, say N. If enabled, each mount of devpts
238           filesystem with the '-o newinstance' option will create an
239           independent PTY namespace.
241 config LEGACY_PTYS
242         bool "Legacy (BSD) PTY support"
243         default y
244         ---help---
245           A pseudo terminal (PTY) is a software device consisting of two
246           halves: a master and a slave. The slave device behaves identical to
247           a physical terminal; the master device is used by a process to
248           read data from and write data to the slave, thereby emulating a
249           terminal. Typical programs for the master side are telnet servers
250           and xterms.
252           Linux has traditionally used the BSD-like names /dev/ptyxx
253           for masters and /dev/ttyxx for slaves of pseudo
254           terminals. This scheme has a number of problems, including
255           security.  This option enables these legacy devices; on most
256           systems, it is safe to say N.
259 config LEGACY_PTY_COUNT
260         int "Maximum number of legacy PTY in use"
261         depends on LEGACY_PTYS
262         range 0 256
263         default "256"
264         ---help---
265           The maximum number of legacy PTYs that can be used at any one time.
266           The default is 256, and should be more than enough.  Embedded
267           systems may want to reduce this to save memory.
269           When not in use, each legacy PTY occupies 12 bytes on 32-bit
270           architectures and 24 bytes on 64-bit architectures.
272 config BFIN_JTAG_COMM
273         tristate "Blackfin JTAG Communication"
274         depends on BLACKFIN
275         help
276           Add support for emulating a TTY device over the Blackfin JTAG.
278           To compile this driver as a module, choose M here: the
279           module will be called bfin_jtag_comm.
281 config BFIN_JTAG_COMM_CONSOLE
282         bool "Console on Blackfin JTAG"
283         depends on BFIN_JTAG_COMM=y
285 config SERIAL_NONSTANDARD
286         bool "Non-standard serial port support"
287         depends on HAS_IOMEM
288         ---help---
289           Say Y here if you have any non-standard serial boards -- boards
290           which aren't supported using the standard "dumb" serial driver.
291           This includes intelligent serial boards such as Cyclades,
292           Digiboards, etc. These are usually used for systems that need many
293           serial ports because they serve many terminals or dial-in
294           connections.
296           Note that the answer to this question won't directly affect the
297           kernel: saying N will just cause the configurator to skip all
298           the questions about non-standard serial boards.
300           Most people can say N here.
302 config ROCKETPORT
303         tristate "Comtrol RocketPort support"
304         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
305         help
306           This driver supports Comtrol RocketPort and RocketModem PCI boards.   
307           These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
308           modems.  For information about the RocketPort/RocketModem  boards
309           and this driver read <file:Documentation/serial/rocket.txt>.
311           To compile this driver as a module, choose M here: the
312           module will be called rocket.
314           If you want to compile this driver into the kernel, say Y here.  If
315           you don't have a Comtrol RocketPort/RocketModem card installed, say N.
317 config CYCLADES
318         tristate "Cyclades async mux support"
319         depends on SERIAL_NONSTANDARD && (PCI || ISA)
320         select FW_LOADER
321         ---help---
322           This driver supports Cyclades Z and Y multiserial boards.
323           You would need something like this to connect more than two modems to
324           your Linux box, for instance in order to become a dial-in server.
326           For information about the Cyclades-Z card, read
327           <file:Documentation/serial/README.cycladesZ>.
329           To compile this driver as a module, choose M here: the
330           module will be called cyclades.
332           If you haven't heard about it, it's safe to say N.
334 config CYZ_INTR
335         bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
336         depends on EXPERIMENTAL && CYCLADES
337         help
338           The Cyclades-Z family of multiport cards allows 2 (two) driver op
339           modes: polling and interrupt. In polling mode, the driver will check
340           the status of the Cyclades-Z ports every certain amount of time
341           (which is called polling cycle and is configurable). In interrupt
342           mode, it will use an interrupt line (IRQ) in order to check the
343           status of the Cyclades-Z ports. The default op mode is polling. If
344           unsure, say N.
346 config MOXA_INTELLIO
347         tristate "Moxa Intellio support"
348         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
349         select FW_LOADER
350         help
351           Say Y here if you have a Moxa Intellio multiport serial card.
353           To compile this driver as a module, choose M here: the
354           module will be called moxa.
356 config MOXA_SMARTIO
357         tristate "Moxa SmartIO support v. 2.0"
358         depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
359         help
360           Say Y here if you have a Moxa SmartIO multiport serial card and/or
361           want to help develop a new version of this driver.
363           This is upgraded (1.9.1) driver from original Moxa drivers with
364           changes finally resulting in PCI probing.
366           This driver can also be built as a module. The module will be called
367           mxser. If you want to do that, say M here.
369 config SYNCLINK
370         tristate "Microgate SyncLink card support"
371         depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
372         help
373           Provides support for the SyncLink ISA and PCI multiprotocol serial
374           adapters. These adapters support asynchronous and HDLC bit
375           synchronous communication up to 10Mbps (PCI adapter).
377           This driver can only be built as a module ( = code which can be
378           inserted in and removed from the running kernel whenever you want).
379           The module will be called synclink.  If you want to do that, say M
380           here.
382 config SYNCLINKMP
383         tristate "SyncLink Multiport support"
384         depends on SERIAL_NONSTANDARD && PCI
385         help
386           Enable support for the SyncLink Multiport (2 or 4 ports)
387           serial adapter, running asynchronous and HDLC communications up
388           to 2.048Mbps. Each ports is independently selectable for
389           RS-232, V.35, RS-449, RS-530, and X.21
391           This driver may be built as a module ( = code which can be
392           inserted in and removed from the running kernel whenever you want).
393           The module will be called synclinkmp.  If you want to do that, say M
394           here.
396 config SYNCLINK_GT
397         tristate "SyncLink GT/AC support"
398         depends on SERIAL_NONSTANDARD && PCI
399         help
400           Support for SyncLink GT and SyncLink AC families of
401           synchronous and asynchronous serial adapters
402           manufactured by Microgate Systems, Ltd. (www.microgate.com)
404 config NOZOMI
405         tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
406         depends on PCI && EXPERIMENTAL
407         help
408           If you have a HSDPA driver Broadband Wireless Data Card -
409           Globe Trotter PCMCIA card, say Y here.
411           To compile this driver as a module, choose M here, the module
412           will be called nozomi.
414 config ISI
415         tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
416         depends on SERIAL_NONSTANDARD && PCI
417         select FW_LOADER
418         help
419           This is a driver for the Multi-Tech cards which provide several
420           serial ports.  The driver is experimental and can currently only be
421           built as a module. The module will be called isicom.
422           If you want to do that, choose M here.
424 config N_HDLC
425         tristate "HDLC line discipline support"
426         depends on SERIAL_NONSTANDARD
427         help
428           Allows synchronous HDLC communications with tty device drivers that
429           support synchronous HDLC such as the Microgate SyncLink adapter.
431           This driver can be built as a module ( = code which can be
432           inserted in and removed from the running kernel whenever you want).
433           The module will be called n_hdlc. If you want to do that, say M
434           here.
436 config N_GSM
437         tristate "GSM MUX line discipline support (EXPERIMENTAL)"
438         depends on EXPERIMENTAL
439         depends on NET
440         help
441           This line discipline provides support for the GSM MUX protocol and
442           presents the mux as a set of 61 individual tty devices.
444 config TRACE_ROUTER
445         tristate "Trace data router for MIPI P1149.7 cJTAG standard"
446         depends on TRACE_SINK
447         default n
448         help
449           The trace router uses the Linux tty line discipline framework to
450           route trace data coming from a tty port (say UART for example) to
451           the trace sink line discipline driver and to another tty port (say
452           USB). This is part of a solution for the MIPI P1149.7, compact JTAG,
453           standard, which is for debugging mobile devices. The PTI driver in
454           drivers/misc/pti.c defines the majority of this MIPI solution.
456           You should select this driver if the target kernel is meant for
457           a mobile device containing a modem.  Then you will need to select
458           "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline
459           driver.
461 config TRACE_SINK
462         tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
463         default n
464         help
465           The trace sink uses the Linux line discipline framework to receive
466           trace data coming from the trace router line discipline driver
467           to a user-defined tty port target, like USB.
468           This is to provide a way to extract modem trace data on
469           devices that do not have a PTI HW module, or just need modem
470           trace data to come out of a different HW output port.
471           This is part of a solution for the P1149.7, compact JTAG, standard.
473           If you select this option, you need to select
474           "Trace data router for MIPI P1149.7 cJTAG standard".
476 config PPC_EPAPR_HV_BYTECHAN
477         tristate "ePAPR hypervisor byte channel driver"
478         depends on PPC
479         help
480           This driver creates /dev entries for each ePAPR hypervisor byte
481           channel, thereby allowing applications to communicate with byte
482           channels as if they were serial ports.
484 config PPC_EARLY_DEBUG_EHV_BC
485         bool "Early console (udbg) support for ePAPR hypervisors"
486         depends on PPC_EPAPR_HV_BYTECHAN=y
487         help
488           Select this option to enable early console (a.k.a. "udbg") support
489           via an ePAPR byte channel.  You also need to choose the byte channel
490           handle below.
492 config PPC_EARLY_DEBUG_EHV_BC_HANDLE
493         int "Byte channel handle for early console (udbg)"
494         depends on PPC_EARLY_DEBUG_EHV_BC
495         default 0
496         help
497           If you want early console (udbg) output through a byte channel,
498           specify the handle of the byte channel to use.
500           For this to work, the byte channel driver must be compiled
501           in-kernel, not as a module.
503           Note that only one early console driver can be enabled, so don't
504           enable any others if you enable this one.
506           If the number you specify is not a valid byte channel handle, then
507           there simply will be no early console output.  This is true also
508           if you don't boot under a hypervisor at all.