hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/tty/Kconfig
....@@ -1,7 +1,8 @@
1
+# SPDX-License-Identifier: GPL-2.0
12 config TTY
23 bool "Enable TTY" if EXPERT
34 default y
4
- ---help---
5
+ help
56 Allows you to remove TTY support which can save space, and
67 blocks features that require TTY from inclusion in the kernel.
78 TTY is required for any text terminals or serial port
....@@ -14,7 +15,7 @@
1415 depends on !UML
1516 select INPUT
1617 default y
17
- ---help---
18
+ help
1819 If you say Y here, you will get support for terminal devices with
1920 display and keyboard devices. These are called "virtual" because you
2021 can run several virtual terminals (also called virtual consoles) on
....@@ -45,7 +46,7 @@
4546 depends on VT
4647 default y
4748 bool "Enable character translations in console" if EXPERT
48
- ---help---
49
+ help
4950 This enables support for font mapping and Unicode translation
5051 on virtual consoles.
5152
....@@ -53,7 +54,7 @@
5354 bool "Support for console on virtual terminal" if EXPERT
5455 depends on VT
5556 default y
56
- ---help---
57
+ help
5758 The system console is the device which receives all kernel messages
5859 and warnings and which allows logins in single user mode. If you
5960 answer Y here, a virtual terminal (the device used to interact with
....@@ -81,26 +82,25 @@
8182 default y
8283
8384 config VT_HW_CONSOLE_BINDING
84
- bool "Support for binding and unbinding console drivers"
85
- depends on HW_CONSOLE
86
- default n
87
- ---help---
88
- The virtual terminal is the device that interacts with the physical
89
- terminal through console drivers. On these systems, at least one
90
- console driver is loaded. In other configurations, additional console
91
- drivers may be enabled, such as the framebuffer console. If more than
92
- 1 console driver is enabled, setting this to 'y' will allow you to
93
- select the console driver that will serve as the backend for the
94
- virtual terminals.
85
+ bool "Support for binding and unbinding console drivers"
86
+ depends on HW_CONSOLE
87
+ help
88
+ The virtual terminal is the device that interacts with the physical
89
+ terminal through console drivers. On these systems, at least one
90
+ console driver is loaded. In other configurations, additional console
91
+ drivers may be enabled, such as the framebuffer console. If more than
92
+ 1 console driver is enabled, setting this to 'y' will allow you to
93
+ select the console driver that will serve as the backend for the
94
+ virtual terminals.
9595
96
- See <file:Documentation/console/console.txt> for more
97
- information. For framebuffer console users, please refer to
98
- <file:Documentation/fb/fbcon.txt>.
96
+ See <file:Documentation/driver-api/console.rst> for more
97
+ information. For framebuffer console users, please refer to
98
+ <file:Documentation/fb/fbcon.rst>.
9999
100100 config UNIX98_PTYS
101101 bool "Unix98 PTY support" if EXPERT
102102 default y
103
- ---help---
103
+ help
104104 A pseudo terminal (PTY) is a software device consisting of two
105105 halves: a master and a slave. The slave device behaves identical to
106106 a physical terminal; the master device is used by a process to
....@@ -123,7 +123,7 @@
123123 config LEGACY_PTYS
124124 bool "Legacy (BSD) PTY support"
125125 default y
126
- ---help---
126
+ help
127127 A pseudo terminal (PTY) is a software device consisting of two
128128 halves: a master and a slave. The slave device behaves identical to
129129 a physical terminal; the master device is used by a process to
....@@ -137,13 +137,12 @@
137137 security. This option enables these legacy devices; on most
138138 systems, it is safe to say N.
139139
140
-
141140 config LEGACY_PTY_COUNT
142141 int "Maximum number of legacy PTY in use"
143142 depends on LEGACY_PTYS
144143 range 0 256
145144 default "256"
146
- ---help---
145
+ help
147146 The maximum number of legacy PTYs that can be used at any one time.
148147 The default is 256, and should be more than enough. Embedded
149148 systems may want to reduce this to save memory.
....@@ -151,10 +150,35 @@
151150 When not in use, each legacy PTY occupies 12 bytes on 32-bit
152151 architectures and 24 bytes on 64-bit architectures.
153152
153
+config LDISC_AUTOLOAD
154
+ bool "Automatically load TTY Line Disciplines"
155
+ default y
156
+ help
157
+ Historically the kernel has always automatically loaded any
158
+ line discipline that is in a kernel module when a user asks
159
+ for it to be loaded with the TIOCSETD ioctl, or through other
160
+ means. This is not always the best thing to do on systems
161
+ where you know you will not be using some of the more
162
+ "ancient" line disciplines, so prevent the kernel from doing
163
+ this unless the request is coming from a process with the
164
+ CAP_SYS_MODULE permissions.
165
+
166
+ Say 'Y' here if you trust your userspace users to do the right
167
+ thing, or if you have only provided the line disciplines that
168
+ you know you will be using, or if you wish to continue to use
169
+ the traditional method of on-demand loading of these modules
170
+ by any user.
171
+
172
+ This functionality can be changed at runtime with the
173
+ dev.tty.ldisc_autoload sysctl, this configuration option will
174
+ only set the default value of this functionality.
175
+
176
+source "drivers/tty/serial/Kconfig"
177
+
154178 config SERIAL_NONSTANDARD
155179 bool "Non-standard serial port support"
156180 depends on HAS_IOMEM
157
- ---help---
181
+ help
158182 Say Y here if you have any non-standard serial boards -- boards
159183 which aren't supported using the standard "dumb" serial driver.
160184 This includes intelligent serial boards such as Cyclades,
....@@ -173,27 +197,27 @@
173197 depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI)
174198 help
175199 This driver supports Comtrol RocketPort and RocketModem PCI boards.
176
- These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
177
- modems. For information about the RocketPort/RocketModem boards
178
- and this driver read <file:Documentation/serial/rocket.txt>.
200
+ These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or
201
+ modems. For information about the RocketPort/RocketModem boards
202
+ and this driver read <file:Documentation/driver-api/serial/rocket.rst>.
179203
180204 To compile this driver as a module, choose M here: the
181205 module will be called rocket.
182206
183207 If you want to compile this driver into the kernel, say Y here. If
184
- you don't have a Comtrol RocketPort/RocketModem card installed, say N.
208
+ you don't have a Comtrol RocketPort/RocketModem card installed, say N.
185209
186210 config CYCLADES
187211 tristate "Cyclades async mux support"
188212 depends on SERIAL_NONSTANDARD && (PCI || ISA)
189213 select FW_LOADER
190
- ---help---
214
+ help
191215 This driver supports Cyclades Z and Y multiserial boards.
192216 You would need something like this to connect more than two modems to
193217 your Linux box, for instance in order to become a dial-in server.
194218
195219 For information about the Cyclades-Z card, read
196
- <file:Documentation/serial/README.cycladesZ>.
220
+ <file:Documentation/driver-api/serial/cyclades_z.rst>.
197221
198222 To compile this driver as a module, choose M here: the
199223 module will be called cyclades.
....@@ -270,16 +294,6 @@
270294 synchronous and asynchronous serial adapters
271295 manufactured by Microgate Systems, Ltd. (www.microgate.com)
272296
273
-config NOZOMI
274
- tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
275
- depends on PCI
276
- help
277
- If you have a HSDPA driver Broadband Wireless Data Card -
278
- Globe Trotter PCMCIA card, say Y here.
279
-
280
- To compile this driver as a module, choose M here, the module
281
- will be called nozomi.
282
-
283297 config ISI
284298 tristate "Multi-Tech multiport card support"
285299 depends on SERIAL_NONSTANDARD && PCI
....@@ -301,45 +315,6 @@
301315 inserted in and removed from the running kernel whenever you want).
302316 The module will be called n_hdlc. If you want to do that, say M
303317 here.
304
-
305
-config N_GSM
306
- tristate "GSM MUX line discipline support (EXPERIMENTAL)"
307
- depends on NET
308
- help
309
- This line discipline provides support for the GSM MUX protocol and
310
- presents the mux as a set of 61 individual tty devices.
311
-
312
-config TRACE_ROUTER
313
- tristate "Trace data router for MIPI P1149.7 cJTAG standard"
314
- depends on TRACE_SINK
315
- default n
316
- help
317
- The trace router uses the Linux tty line discipline framework to
318
- route trace data coming from a tty port (say UART for example) to
319
- the trace sink line discipline driver and to another tty port (say
320
- USB). This is part of a solution for the MIPI P1149.7, compact JTAG,
321
- standard, which is for debugging mobile devices. The PTI driver in
322
- drivers/misc/pti.c defines the majority of this MIPI solution.
323
-
324
- You should select this driver if the target kernel is meant for
325
- a mobile device containing a modem. Then you will need to select
326
- "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline
327
- driver.
328
-
329
-config TRACE_SINK
330
- tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
331
- default n
332
- help
333
- The trace sink uses the Linux line discipline framework to receive
334
- trace data coming from the trace router line discipline driver
335
- to a user-defined tty port target, like USB.
336
- This is to provide a way to extract modem trace data on
337
- devices that do not have a PTI HW module, or just need modem
338
- trace data to come out of a different HW output port.
339
- This is part of a solution for the P1149.7, compact JTAG, standard.
340
-
341
- If you select this option, you need to select
342
- "Trace data router for MIPI P1149.7 cJTAG standard".
343318
344319 config PPC_EPAPR_HV_BYTECHAN
345320 bool "ePAPR hypervisor byte channel driver"
....@@ -389,6 +364,23 @@
389364 default y if GOLDFISH_TTY=y
390365 select SERIAL_EARLYCON
391366
367
+config N_GSM
368
+ tristate "GSM MUX line discipline support (EXPERIMENTAL)"
369
+ depends on NET
370
+ help
371
+ This line discipline provides support for the GSM MUX protocol and
372
+ presents the mux as a set of 61 individual tty devices.
373
+
374
+config NOZOMI
375
+ tristate "HSDPA Broadband Wireless Data Card - Globe Trotter"
376
+ depends on PCI
377
+ help
378
+ If you have a HSDPA driver Broadband Wireless Data Card -
379
+ Globe Trotter PCMCIA card, say Y here.
380
+
381
+ To compile this driver as a module, choose M here, the module
382
+ will be called nozomi.
383
+
392384 config MIPS_EJTAG_FDC_TTY
393385 bool "MIPS EJTAG Fast Debug Channel TTY"
394386 depends on MIPS_CDMM
....@@ -425,8 +417,8 @@
425417 depends on MIPS_EJTAG_FDC_TTY && KGDB
426418 default y
427419 help
428
- This enables the use of KGDB over an FDC channel, allowing KGDB to be
429
- used remotely or when a serial port isn't available.
420
+ This enables the use of KGDB over an FDC channel, allowing KGDB to be
421
+ used remotely or when a serial port isn't available.
430422
431423 config MIPS_EJTAG_FDC_KGDB_CHAN
432424 int "KGDB FDC channel"
....@@ -436,34 +428,57 @@
436428 help
437429 FDC channel number to use for KGDB.
438430
431
+config NULL_TTY
432
+ tristate "NULL TTY driver"
433
+ help
434
+ Say Y here if you want a NULL TTY which simply discards messages.
435
+
436
+ This is useful to allow userspace applications which expect a console
437
+ device to work without modifications even when no console is
438
+ available or desired.
439
+
440
+ In order to use this driver, you should redirect the console to this
441
+ TTY, or boot the kernel with console=ttynull.
442
+
443
+ If unsure, say N.
444
+
445
+config TRACE_ROUTER
446
+ tristate "Trace data router for MIPI P1149.7 cJTAG standard"
447
+ depends on TRACE_SINK
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.
455
+
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.
460
+
461
+config TRACE_SINK
462
+ tristate "Trace data sink for MIPI P1149.7 cJTAG standard"
463
+ help
464
+ The trace sink uses the Linux line discipline framework to receive
465
+ trace data coming from the trace router line discipline driver
466
+ to a user-defined tty port target, like USB.
467
+ This is to provide a way to extract modem trace data on
468
+ devices that do not have a PTI HW module, or just need modem
469
+ trace data to come out of a different HW output port.
470
+ This is part of a solution for the P1149.7, compact JTAG, standard.
471
+
472
+ If you select this option, you need to select
473
+ "Trace data router for MIPI P1149.7 cJTAG standard".
474
+
439475 config VCC
440476 tristate "Sun Virtual Console Concentrator"
441477 depends on SUN_LDOMS
442478 help
443479 Support for Sun logical domain consoles.
444480
445
-config LDISC_AUTOLOAD
446
- bool "Automatically load TTY Line Disciplines"
447
- default y
448
- help
449
- Historically the kernel has always automatically loaded any
450
- line discipline that is in a kernel module when a user asks
451
- for it to be loaded with the TIOCSETD ioctl, or through other
452
- means. This is not always the best thing to do on systems
453
- where you know you will not be using some of the more
454
- "ancient" line disciplines, so prevent the kernel from doing
455
- this unless the request is coming from a process with the
456
- CAP_SYS_MODULE permissions.
457
-
458
- Say 'Y' here if you trust your userspace users to do the right
459
- thing, or if you have only provided the line disciplines that
460
- you know you will be using, or if you wish to continue to use
461
- the traditional method of on-demand loading of these modules
462
- by any user.
463
-
464
- This functionality can be changed at runtime with the
465
- dev.tty.ldisc_autoload sysctl, this configuration option will
466
- only set the default value of this functionality.
481
+source "drivers/tty/hvc/Kconfig"
467482
468483 config RPMSG_TTY
469484 tristate "RPMSG tty driver"
....@@ -478,3 +493,5 @@
478493 called rpmsg_tty.
479494
480495 endif # TTY
496
+
497
+source "drivers/tty/serdev/Kconfig"