Merge remote-tracking branch 'moduleh/module.h-split'
[linux-2.6/next.git] / drivers / tty / Kconfig
blobf1ea59b09444c4491a06313004360f5b031457f9
1 config VT
2         bool "Virtual terminal" if EXPERT
3         depends on !S390
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 HW_CONSOLE
64         bool
65         depends on VT && !S390 && !UML
66         default y
68 config VT_HW_CONSOLE_BINDING
69        bool "Support for binding and unbinding console drivers"
70        depends on HW_CONSOLE
71        default n
72        ---help---
73          The virtual terminal is the device that interacts with the physical
74          terminal through console drivers. On these systems, at least one
75          console driver is loaded. In other configurations, additional console
76          drivers may be enabled, such as the framebuffer console. If more than
77          1 console driver is enabled, setting this to 'y' will allow you to
78          select the console driver that will serve as the backend for the
79          virtual terminals.
81          See <file:Documentation/console/console.txt> for more
82          information. For framebuffer console users, please refer to
83          <file:Documentation/fb/fbcon.txt>.
85 config UNIX98_PTYS
86         bool "Unix98 PTY support" if EXPERT
87         default y
88         ---help---
89           A pseudo terminal (PTY) is a software device consisting of two
90           halves: a master and a slave. The slave device behaves identical to
91           a physical terminal; the master device is used by a process to
92           read data from and write data to the slave, thereby emulating a
93           terminal. Typical programs for the master side are telnet servers
94           and xterms.
96           Linux has traditionally used the BSD-like names /dev/ptyxx for
97           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
98           has a number of problems. The GNU C library glibc 2.1 and later,
99           however, supports the Unix98 naming standard: in order to acquire a
100           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
101           terminal is then made available to the process and the pseudo
102           terminal slave can be accessed as /dev/pts/<number>. What was
103           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
105           All modern Linux systems use the Unix98 ptys.  Say Y unless
106           you're on an embedded system and want to conserve memory.
108 config DEVPTS_MULTIPLE_INSTANCES
109         bool "Support multiple instances of devpts"
110         depends on UNIX98_PTYS
111         default n
112         ---help---
113           Enable support for multiple instances of devpts filesystem.
114           If you want to have isolated PTY namespaces (eg: in containers),
115           say Y here.  Otherwise, say N. If enabled, each mount of devpts
116           filesystem with the '-o newinstance' option will create an
117           independent PTY namespace.
119 config LEGACY_PTYS
120         bool "Legacy (BSD) PTY support"
121         default y
122         ---help---
123           A pseudo terminal (PTY) is a software device consisting of two
124           halves: a master and a slave. The slave device behaves identical to
125           a physical terminal; the master device is used by a process to
126           read data from and write data to the slave, thereby emulating a
127           terminal. Typical programs for the master side are telnet servers
128           and xterms.
130           Linux has traditionally used the BSD-like names /dev/ptyxx
131           for masters and /dev/ttyxx for slaves of pseudo
132           terminals. This scheme has a number of problems, including
133           security.  This option enables these legacy devices; on most
134           systems, it is safe to say N.
137 config LEGACY_PTY_COUNT
138         int "Maximum number of legacy PTY in use"
139         depends on LEGACY_PTYS
140         range 0 256
141         default "256"
142         ---help---
143           The maximum number of legacy PTYs that can be used at any one time.
144           The default is 256, and should be more than enough.  Embedded
145           systems may want to reduce this to save memory.
147           When not in use, each legacy PTY occupies 12 bytes on 32-bit
148           architectures and 24 bytes on 64-bit architectures.
150 config BFIN_JTAG_COMM
151         tristate "Blackfin JTAG Communication"
152         depends on BLACKFIN
153         help
154           Add support for emulating a TTY device over the Blackfin JTAG.
156           To compile this driver as a module, choose M here: the
157           module will be called bfin_jtag_comm.
159 config BFIN_JTAG_COMM_CONSOLE
160         bool "Console on Blackfin JTAG"
161         depends on BFIN_JTAG_COMM=y
163 config SERIAL_NONSTANDARD
164         bool "Non-standard serial port support"
165         depends on HAS_IOMEM
166         ---help---
167           Say Y here if you have any non-standard serial boards -- boards
168           which aren't supported using the standard "dumb" serial driver.
169           This includes intelligent serial boards such as Cyclades,
170           Digiboards, etc. These are usually used for systems that need many
171           serial ports because they serve many terminals or dial-in
172           connections.
174           Note that the answer to this question won't directly affect the
175           kernel: saying N will just cause the configurator to skip all
176           the questions about non-standard serial boards.
178           Most people can say N here.
180 config ROCKETPORT
181         tristate "Comtrol RocketPort support"
182         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
183         help
184           This driver supports Comtrol RocketPort and RocketModem PCI boards.   
185           These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
186           modems.  For information about the RocketPort/RocketModem  boards
187           and this driver read <file:Documentation/serial/rocket.txt>.
189           To compile this driver as a module, choose M here: the
190           module will be called rocket.
192           If you want to compile this driver into the kernel, say Y here.  If
193           you don't have a Comtrol RocketPort/RocketModem card installed, say N.
195 config CYCLADES
196         tristate "Cyclades async mux support"
197         depends on SERIAL_NONSTANDARD && (PCI || ISA)
198         select FW_LOADER
199         ---help---
200           This driver supports Cyclades Z and Y multiserial boards.
201           You would need something like this to connect more than two modems to
202           your Linux box, for instance in order to become a dial-in server.
204           For information about the Cyclades-Z card, read
205           <file:Documentation/serial/README.cycladesZ>.
207           To compile this driver as a module, choose M here: the
208           module will be called cyclades.
210           If you haven't heard about it, it's safe to say N.
212 config CYZ_INTR
213         bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
214         depends on EXPERIMENTAL && CYCLADES
215         help
216           The Cyclades-Z family of multiport cards allows 2 (two) driver op
217           modes: polling and interrupt. In polling mode, the driver will check
218           the status of the Cyclades-Z ports every certain amount of time
219           (which is called polling cycle and is configurable). In interrupt
220           mode, it will use an interrupt line (IRQ) in order to check the
221           status of the Cyclades-Z ports. The default op mode is polling. If
222           unsure, say N.
224 config MOXA_INTELLIO
225         tristate "Moxa Intellio support"
226         depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
227         select FW_LOADER
228         help
229           Say Y here if you have a Moxa Intellio multiport serial card.
231           To compile this driver as a module, choose M here: the
232           module will be called moxa.
234 config MOXA_SMARTIO
235         tristate "Moxa SmartIO support v. 2.0"
236         depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
237         help
238           Say Y here if you have a Moxa SmartIO multiport serial card and/or
239           want to help develop a new version of this driver.
241           This is upgraded (1.9.1) driver from original Moxa drivers with
242           changes finally resulting in PCI probing.
244           This driver can also be built as a module. The module will be called
245           mxser. If you want to do that, say M here.
247 config SYNCLINK
248         tristate "Microgate SyncLink card support"
249         depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API
250         help
251           Provides support for the SyncLink ISA and PCI multiprotocol serial
252           adapters. These adapters support asynchronous and HDLC bit
253           synchronous communication up to 10Mbps (PCI adapter).
255           This driver can only be built as a module ( = code which can be
256           inserted in and removed from the running kernel whenever you want).
257           The module will be called synclink.  If you want to do that, say M
258           here.
260 config SYNCLINKMP
261         tristate "SyncLink Multiport support"
262         depends on SERIAL_NONSTANDARD && PCI
263         help
264           Enable support for the SyncLink Multiport (2 or 4 ports)
265           serial adapter, running asynchronous and HDLC communications up
266           to 2.048Mbps. Each ports is independently selectable for
267           RS-232, V.35, RS-449, RS-530, and X.21
269           This driver may be built as a module ( = code which can be
270           inserted in and removed from the running kernel whenever you want).
271           The module will be called synclinkmp.  If you want to do that, say M
272           here.
274 config SYNCLINK_GT
275         tristate "SyncLink GT/AC support"
276         depends on SERIAL_NONSTANDARD && PCI
277         help
278           Support for SyncLink GT and SyncLink AC families of
279           synchronous and asynchronous serial adapters
280           manufactured by Microgate Systems, Ltd. (www.microgate.com)
282 config NOZOMI
283         tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
284         depends on PCI && EXPERIMENTAL
285         help
286           If you have a HSDPA driver Broadband Wireless Data Card -
287           Globe Trotter PCMCIA card, say Y here.
289           To compile this driver as a module, choose M here, the module
290           will be called nozomi.
292 config ISI
293         tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
294         depends on SERIAL_NONSTANDARD && PCI
295         select FW_LOADER
296         help
297           This is a driver for the Multi-Tech cards which provide several
298           serial ports.  The driver is experimental and can currently only be
299           built as a module. The module will be called isicom.
300           If you want to do that, choose M here.
302 config N_HDLC
303         tristate "HDLC line discipline support"
304         depends on SERIAL_NONSTANDARD
305         help
306           Allows synchronous HDLC communications with tty device drivers that
307           support synchronous HDLC such as the Microgate SyncLink adapter.
309           This driver can be built as a module ( = code which can be
310           inserted in and removed from the running kernel whenever you want).
311           The module will be called n_hdlc. If you want to do that, say M
312           here.
314 config N_GSM
315         tristate "GSM MUX line discipline support (EXPERIMENTAL)"
316         depends on EXPERIMENTAL
317         depends on NET
318         help
319           This line discipline provides support for the GSM MUX protocol and
320           presents the mux as a set of 61 individual tty devices.
322 config TRACE_ROUTER
323         tristate "Trace data router for MIPI P1149.7 cJTAG standard"
324         depends on TRACE_SINK
325         default n
326         help
327           The trace router uses the Linux tty line discipline framework to
328           route trace data coming from a tty port (say UART for example) to
329           the trace sink line discipline driver and to another tty port (say
330           USB). This is part of a solution for the MIPI P1149.7, compact JTAG,
331           standard, which is for debugging mobile devices. The PTI driver in
332           drivers/misc/pti.c defines the majority of this MIPI solution.
334           You should select this driver if the target kernel is meant for
335           a mobile device containing a modem.  Then you will need to select
336           "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline
337           driver.
339 config TRACE_SINK
340         tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
341         default n
342         help
343           The trace sink uses the Linux line discipline framework to receive
344           trace data coming from the trace router line discipline driver
345           to a user-defined tty port target, like USB.
346           This is to provide a way to extract modem trace data on
347           devices that do not have a PTI HW module, or just need modem
348           trace data to come out of a different HW output port.
349           This is part of a solution for the P1149.7, compact JTAG, standard.
351           If you select this option, you need to select
352           "Trace data router for MIPI P1149.7 cJTAG standard".
354 config PPC_EPAPR_HV_BYTECHAN
355         tristate "ePAPR hypervisor byte channel driver"
356         depends on PPC
357         help
358           This driver creates /dev entries for each ePAPR hypervisor byte
359           channel, thereby allowing applications to communicate with byte
360           channels as if they were serial ports.
362 config PPC_EARLY_DEBUG_EHV_BC
363         bool "Early console (udbg) support for ePAPR hypervisors"
364         depends on PPC_EPAPR_HV_BYTECHAN
365         help
366           Select this option to enable early console (a.k.a. "udbg") support
367           via an ePAPR byte channel.  You also need to choose the byte channel
368           handle below.
370 config PPC_EARLY_DEBUG_EHV_BC_HANDLE
371         int "Byte channel handle for early console (udbg)"
372         depends on PPC_EARLY_DEBUG_EHV_BC
373         default 0
374         help
375           If you want early console (udbg) output through a byte channel,
376           specify the handle of the byte channel to use.
378           For this to work, the byte channel driver must be compiled
379           in-kernel, not as a module.
381           Note that only one early console driver can be enabled, so don't
382           enable any others if you enable this one.
384           If the number you specify is not a valid byte channel handle, then
385           there simply will be no early console output.  This is true also
386           if you don't boot under a hypervisor at all.