]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | # |
3 | # Character device configuration | |
4 | # | |
5 | ||
6 | menu "Character devices" | |
7 | ||
bdcffc5a | 8 | source "drivers/tty/Kconfig" |
13ae6645 | 9 | |
24b4b67d | 10 | config TTY_PRINTK |
b24313a8 | 11 | tristate "TTY driver to output user messages via printk" |
4f73bc4d | 12 | depends on EXPERT && TTY |
24b4b67d | 13 | default n |
a7f7f624 | 14 | help |
24b4b67d SP |
15 | If you say Y here, the support for writing user messages (i.e. |
16 | console messages) via printk is available. | |
17 | ||
18 | The feature is useful to inline user messages with kernel | |
19 | messages. | |
20 | In order to use this feature, you should output user messages | |
21 | to /dev/ttyprintk or redirect console to this TTY. | |
22 | ||
23 | If unsure, say N. | |
24 | ||
acef6660 PK |
25 | config TTY_PRINTK_LEVEL |
26 | depends on TTY_PRINTK | |
27 | int "ttyprintk log level (1-7)" | |
28 | range 1 7 | |
29 | default "6" | |
30 | help | |
31 | Printk log level to use for ttyprintk messages. | |
32 | ||
1da177e4 LT |
33 | config PRINTER |
34 | tristate "Parallel printer support" | |
35 | depends on PARPORT | |
a7f7f624 | 36 | help |
1da177e4 LT |
37 | If you intend to attach a printer to the parallel port of your Linux |
38 | box (as opposed to using a serial printer; if the connector at the | |
39 | printer has 9 or 25 holes ["female"], then it's serial), say Y. | |
40 | Also read the Printing-HOWTO, available from | |
4e74eeb2 | 41 | <https://www.tldp.org/docs.html#howto>. |
1da177e4 LT |
42 | |
43 | It is possible to share one parallel port among several devices | |
44 | (e.g. printer and ZIP drive) and it is safe to compile the | |
45 | corresponding drivers into the kernel. | |
46 | ||
47 | To compile this driver as a module, choose M here and read | |
5fb94e9c | 48 | <file:Documentation/admin-guide/parport.rst>. The module will be called lp. |
1da177e4 LT |
49 | |
50 | If you have several parallel ports, you can specify which ports to | |
51 | use with the "lp" kernel command line option. (Try "man bootparam" | |
52 | or see the documentation of your boot loader (lilo or loadlin) about | |
53 | how to pass options to the kernel at boot time.) The syntax of the | |
54 | "lp" command line option can be found in <file:drivers/char/lp.c>. | |
55 | ||
56 | If you have more than 8 printers, you need to increase the LP_NO | |
57 | macro in lp.c and the PARPORT_MAX macro in parport.h. | |
58 | ||
59 | config LP_CONSOLE | |
60 | bool "Support for console on line printer" | |
61 | depends on PRINTER | |
a7f7f624 | 62 | help |
1da177e4 LT |
63 | If you want kernel messages to be printed out as they occur, you |
64 | can have a console on the printer. This option adds support for | |
65 | doing that; to actually get it to happen you need to pass the | |
66 | option "console=lp0" to the kernel at boot time. | |
67 | ||
68 | If the printer is out of paper (or off, or unplugged, or too | |
69 | busy..) the kernel will stall until the printer is ready again. | |
70 | By defining CONSOLE_LP_STRICT to 0 (at your own risk) you | |
71 | can make the kernel continue when this happens, | |
72 | but it'll lose the kernel messages. | |
73 | ||
74 | If unsure, say N. | |
75 | ||
76 | config PPDEV | |
77 | tristate "Support for user-space parallel port device drivers" | |
78 | depends on PARPORT | |
a7f7f624 | 79 | help |
1da177e4 LT |
80 | Saying Y to this adds support for /dev/parport device nodes. This |
81 | is needed for programs that want portable access to the parallel | |
82 | port, for instance deviceid (which displays Plug-and-Play device | |
83 | IDs). | |
84 | ||
85 | This is the parallel port equivalent of SCSI generic support (sg). | |
86 | It is safe to say N to this -- it is not needed for normal printing | |
87 | or parallel port CD-ROM/disk support. | |
88 | ||
89 | To compile this driver as a module, choose M here: the | |
90 | module will be called ppdev. | |
91 | ||
92 | If unsure, say N. | |
93 | ||
31610434 | 94 | config VIRTIO_CONSOLE |
7721c494 | 95 | tristate "Virtio console" |
9f30eb29 | 96 | depends on TTY |
31610434 | 97 | select HVC_DRIVER |
9f30eb29 | 98 | select VIRTIO |
7721c494 | 99 | help |
ecda85e7 | 100 | Virtio console for use with hypervisors. |
7721c494 | 101 | |
fb08bd27 AS |
102 | Also serves as a general-purpose serial device for data |
103 | transfer between the guest and host. Character devices at | |
104 | /dev/vportNpn will be created when corresponding ports are | |
105 | found, where N is the device number and n is the port number | |
106 | within that device. If specified by the host, a sysfs | |
107 | attribute called 'name' will be populated with a name for | |
108 | the port which can be used by udev scripts to create a | |
109 | symlink to the device. | |
31610434 | 110 | |
fe9e8d53 SR |
111 | config IBM_BSR |
112 | tristate "IBM POWER Barrier Synchronization Register support" | |
113 | depends on PPC_PSERIES | |
114 | help | |
115 | This devices exposes a hardware mechanism for fast synchronization | |
116 | of threads across a large system which avoids bouncing a cacheline | |
117 | between several cores on a system | |
118 | ||
43a1dd9b SJS |
119 | config POWERNV_OP_PANEL |
120 | tristate "IBM POWERNV Operator Panel Display support" | |
121 | depends on PPC_POWERNV | |
122 | default m | |
123 | help | |
124 | If you say Y here, a special character device node, /dev/op_panel, | |
125 | will be created which exposes the operator panel display on IBM | |
126 | Power Systems machines with FSPs. | |
127 | ||
128 | If you don't require access to the operator panel display from user | |
129 | space, say N. | |
130 | ||
131 | If unsure, say M here to build it as a module called powernv-op-panel. | |
132 | ||
1da177e4 LT |
133 | source "drivers/char/ipmi/Kconfig" |
134 | ||
1da177e4 LT |
135 | config DS1620 |
136 | tristate "NetWinder thermometer support" | |
137 | depends on ARCH_NETWINDER | |
138 | help | |
139 | Say Y here to include support for the thermal management hardware | |
140 | found in the NetWinder. This driver allows the user to control the | |
141 | temperature set points and to read the current temperature. | |
142 | ||
143 | It is also possible to say M here to build it as a module (ds1620) | |
144 | It is recommended to be used on a NetWinder, but it is not a | |
145 | necessity. | |
146 | ||
147 | config NWBUTTON | |
148 | tristate "NetWinder Button" | |
149 | depends on ARCH_NETWINDER | |
a7f7f624 | 150 | help |
1da177e4 LT |
151 | If you say Y here and create a character device node /dev/nwbutton |
152 | with major and minor numbers 10 and 158 ("man mknod"), then every | |
153 | time the orange button is pressed a number of times, the number of | |
154 | times the button was pressed will be written to that device. | |
155 | ||
156 | This is most useful for applications, as yet unwritten, which | |
157 | perform actions based on how many times the button is pressed in a | |
158 | row. | |
159 | ||
160 | Do not hold the button down for too long, as the driver does not | |
161 | alter the behaviour of the hardware reset circuitry attached to the | |
162 | button; it will still execute a hard reset if the button is held | |
163 | down for longer than approximately five seconds. | |
164 | ||
165 | To compile this driver as a module, choose M here: the | |
166 | module will be called nwbutton. | |
167 | ||
168 | Most people will answer Y to this question and "Reboot Using Button" | |
169 | below to be able to initiate a system shutdown from the button. | |
170 | ||
171 | config NWBUTTON_REBOOT | |
172 | bool "Reboot Using Button" | |
173 | depends on NWBUTTON | |
174 | help | |
175 | If you say Y here, then you will be able to initiate a system | |
176 | shutdown and reboot by pressing the orange button a number of times. | |
177 | The number of presses to initiate the shutdown is two by default, | |
178 | but this can be altered by modifying the value of NUM_PRESSES_REBOOT | |
179 | in nwbutton.h and recompiling the driver or, if you compile the | |
180 | driver as a module, you can specify the number of presses at load | |
181 | time with "insmod button reboot_count=<something>". | |
182 | ||
183 | config NWFLASH | |
184 | tristate "NetWinder flash support" | |
185 | depends on ARCH_NETWINDER | |
a7f7f624 | 186 | help |
1da177e4 LT |
187 | If you say Y here and create a character device /dev/flash with |
188 | major 10 and minor 160 you can manipulate the flash ROM containing | |
189 | the NetWinder firmware. Be careful as accidentally overwriting the | |
190 | flash contents can render your computer unbootable. On no account | |
191 | allow random users access to this device. :-) | |
192 | ||
193 | To compile this driver as a module, choose M here: the | |
194 | module will be called nwflash. | |
195 | ||
196 | If you're not sure, say N. | |
197 | ||
844dd05f MB |
198 | source "drivers/char/hw_random/Kconfig" |
199 | ||
1da177e4 LT |
200 | config DTLK |
201 | tristate "Double Talk PC internal speech card support" | |
eeca7a36 | 202 | depends on ISA |
1da177e4 LT |
203 | help |
204 | This driver is for the DoubleTalk PC, a speech synthesizer | |
4e74eeb2 | 205 | manufactured by RC Systems (<https://www.rcsys.com/>). It is also |
1da177e4 LT |
206 | called the `internal DoubleTalk'. |
207 | ||
208 | To compile this driver as a module, choose M here: the | |
209 | module will be called dtlk. | |
210 | ||
ef141a0b SN |
211 | config XILINX_HWICAP |
212 | tristate "Xilinx HWICAP Support" | |
7ade8495 | 213 | depends on MICROBLAZE |
ef141a0b SN |
214 | help |
215 | This option enables support for Xilinx Internal Configuration | |
216 | Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex | |
217 | FPGA platforms to partially reconfigure the FPGA at runtime. | |
218 | ||
219 | If unsure, say N. | |
220 | ||
1da177e4 LT |
221 | config R3964 |
222 | tristate "Siemens R3964 line discipline" | |
c7084edc | 223 | depends on TTY && BROKEN |
a7f7f624 | 224 | help |
1da177e4 LT |
225 | This driver allows synchronous communication with devices using the |
226 | Siemens R3964 packet protocol. Unless you are dealing with special | |
227 | hardware like PLCs, you are unlikely to need this. | |
228 | ||
229 | To compile this driver as a module, choose M here: the | |
230 | module will be called n_r3964. | |
231 | ||
232 | If unsure, say N. | |
233 | ||
234 | config APPLICOM | |
235 | tristate "Applicom intelligent fieldbus card support" | |
236 | depends on PCI | |
a7f7f624 | 237 | help |
1da177e4 LT |
238 | This driver provides the kernel-side support for the intelligent |
239 | fieldbus cards made by Applicom International. More information | |
240 | about these cards can be found on the WWW at the address | |
4e74eeb2 | 241 | <https://www.applicom-int.com/>, or by email from David Woodhouse |
1da177e4 LT |
242 | <dwmw2@infradead.org>. |
243 | ||
244 | To compile this driver as a module, choose M here: the | |
245 | module will be called applicom. | |
246 | ||
247 | If unsure, say N. | |
248 | ||
249 | config SONYPI | |
65929215 | 250 | tristate "Sony Vaio Programmable I/O Control Device support" |
57dcf020 | 251 | depends on X86_32 && PCI && INPUT |
a7f7f624 | 252 | help |
1da177e4 LT |
253 | This driver enables access to the Sony Programmable I/O Control |
254 | Device which can be found in many (all ?) Sony Vaio laptops. | |
255 | ||
256 | If you have one of those laptops, read | |
9e1cbede | 257 | <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here. |
1da177e4 LT |
258 | |
259 | To compile this driver as a module, choose M here: the | |
260 | module will be called sonypi. | |
261 | ||
09762516 YY |
262 | config GPIO_TB0219 |
263 | tristate "TANBAC TB0219 GPIO support" | |
bef1f402 | 264 | depends on TANBAC_TB022X |
584e1236 | 265 | select GPIO_VR41XX |
1da177e4 | 266 | |
1da177e4 LT |
267 | source "drivers/char/pcmcia/Kconfig" |
268 | ||
269 | config MWAVE | |
270 | tristate "ACP Modem (Mwave) support" | |
4f73bc4d | 271 | depends on X86 && TTY |
1da177e4 | 272 | select SERIAL_8250 |
a7f7f624 | 273 | help |
1da177e4 LT |
274 | The ACP modem (Mwave) for Linux is a WinModem. It is composed of a |
275 | kernel driver and a user level application. Together these components | |
276 | support direct attachment to public switched telephone networks (PSTNs) | |
277 | and support selected world wide countries. | |
278 | ||
279 | This version of the ACP Modem driver supports the IBM Thinkpad 600E, | |
280 | 600, and 770 that include on board ACP modem hardware. | |
281 | ||
282 | The modem also supports the standard communications port interface | |
283 | (ttySx) and is compatible with the Hayes AT Command Set. | |
284 | ||
285 | The user level application needed to use this driver can be found at | |
286 | the IBM Linux Technology Center (LTC) web site: | |
287 | <http://www.ibm.com/linux/ltc/>. | |
288 | ||
289 | If you own one of the above IBM Thinkpads which has the Mwave chipset | |
290 | in it, say Y. | |
291 | ||
292 | To compile this driver as a module, choose M here: the | |
293 | module will be called mwave. | |
294 | ||
295 | config SCx200_GPIO | |
296 | tristate "NatSemi SCx200 GPIO Support" | |
297 | depends on SCx200 | |
7a8e2a5e | 298 | select NSC_GPIO |
1da177e4 LT |
299 | help |
300 | Give userspace access to the GPIO pins on the National | |
301 | Semiconductor SCx200 processors. | |
302 | ||
303 | If compiled as a module, it will be called scx200_gpio. | |
304 | ||
7a8e2a5e JC |
305 | config PC8736x_GPIO |
306 | tristate "NatSemi PC8736x GPIO Support" | |
3369465e | 307 | depends on X86_32 && !UML |
7a8e2a5e JC |
308 | default SCx200_GPIO # mostly N |
309 | select NSC_GPIO # needed for support routines | |
310 | help | |
311 | Give userspace access to the GPIO pins on the National | |
312 | Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip | |
313 | has multiple functional units, inc several managed by | |
314 | hwmon/pc87360 driver. Tested with PC-87366 | |
315 | ||
316 | If compiled as a module, it will be called pc8736x_gpio. | |
317 | ||
318 | config NSC_GPIO | |
319 | tristate "NatSemi Base GPIO Support" | |
699352c3 | 320 | depends on X86_32 |
7a8e2a5e JC |
321 | # selected by SCx200_GPIO and PC8736x_GPIO |
322 | # what about 2 selectors differing: m != y | |
323 | help | |
324 | Common support used (and needed) by scx200_gpio and | |
325 | pc8736x_gpio drivers. If those drivers are built as | |
326 | modules, this one will be too, named nsc_gpio | |
327 | ||
8d7dc56e RD |
328 | config DEVMEM |
329 | bool "/dev/mem virtual device support" | |
330 | default y | |
331 | help | |
332 | Say Y here if you want to support the /dev/mem device. | |
333 | The /dev/mem device is used to access areas of physical | |
334 | memory. | |
335 | When in doubt, say "Y". | |
336 | ||
337 | config DEVKMEM | |
338 | bool "/dev/kmem virtual device support" | |
339 | # On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write | |
340 | depends on !ARM64 | |
341 | help | |
342 | Say Y here if you want to support the /dev/kmem device. The | |
343 | /dev/kmem device is rarely used, but can be used for certain | |
344 | kind of kernel debugging operations. | |
345 | When in doubt, say "N". | |
346 | ||
347 | config NVRAM | |
348 | tristate "/dev/nvram support" | |
349 | depends on X86 || HAVE_ARCH_NVRAM_OPS | |
350 | default M68K || PPC | |
a7f7f624 | 351 | help |
8d7dc56e RD |
352 | If you say Y here and create a character special file /dev/nvram |
353 | with major number 10 and minor number 144 using mknod ("man mknod"), | |
354 | you get read and write access to the non-volatile memory. | |
355 | ||
356 | /dev/nvram may be used to view settings in NVRAM or to change them | |
357 | (with some utility). It could also be used to frequently | |
358 | save a few bits of very important data that may not be lost over | |
359 | power-off and for which writing to disk is too insecure. Note | |
360 | however that most NVRAM space in a PC belongs to the BIOS and you | |
361 | should NEVER idly tamper with it. See Ralf Brown's interrupt list | |
362 | for a guide to the use of CMOS bytes by your BIOS. | |
363 | ||
364 | This memory is conventionally called "NVRAM" on PowerPC machines, | |
365 | "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes. | |
366 | ||
367 | To compile this driver as a module, choose M here: the | |
368 | module will be called nvram. | |
369 | ||
1da177e4 | 370 | config RAW_DRIVER |
abd4aa5a | 371 | tristate "RAW driver (/dev/raw/rawN)" |
9361401e | 372 | depends on BLOCK |
1da177e4 | 373 | help |
abd4aa5a DJ |
374 | The raw driver permits block devices to be bound to /dev/raw/rawN. |
375 | Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. | |
1da177e4 LT |
376 | See the raw(8) manpage for more details. |
377 | ||
c8175bd1 KK |
378 | Applications should preferably open the device (eg /dev/hda1) |
379 | with the O_DIRECT flag. | |
1da177e4 | 380 | |
0de502aa | 381 | config MAX_RAW_DEVS |
0078bff5 | 382 | int "Maximum number of RAW devices to support (1-65536)" |
0de502aa | 383 | depends on RAW_DRIVER |
7143479a | 384 | range 1 65536 |
0de502aa AM |
385 | default "256" |
386 | help | |
387 | The maximum number of RAW devices that are supported. | |
388 | Default is 256. Increase this number in case you need lots of | |
389 | raw devices. | |
390 | ||
8d7dc56e RD |
391 | config DEVPORT |
392 | bool "/dev/port character device" | |
393 | depends on ISA || PCI | |
394 | default y | |
395 | help | |
396 | Say Y here if you want to support the /dev/port device. The /dev/port | |
397 | device is similar to /dev/mem, but for I/O ports. | |
398 | ||
1da177e4 LT |
399 | config HPET |
400 | bool "HPET - High Precision Event Timer" if (X86 || IA64) | |
401 | default n | |
402 | depends on ACPI | |
403 | help | |
404 | If you say Y here, you will have a miscdevice named "/dev/hpet/". Each | |
405 | open selects one of the timers supported by the HPET. The timers are | |
3cb2fccc | 406 | non-periodic and/or periodic. |
1da177e4 | 407 | |
1da177e4 LT |
408 | config HPET_MMAP |
409 | bool "Allow mmap of HPET" | |
410 | default y | |
411 | depends on HPET | |
412 | help | |
413 | If you say Y here, user applications will be able to mmap | |
414 | the HPET registers. | |
415 | ||
3d035f58 PB |
416 | config HPET_MMAP_DEFAULT |
417 | bool "Enable HPET MMAP access by default" | |
418 | default y | |
419 | depends on HPET_MMAP | |
420 | help | |
1da177e4 LT |
421 | In some hardware implementations, the page containing HPET |
422 | registers may also contain other things that shouldn't be | |
3d035f58 PB |
423 | exposed to the user. This option selects the default (if |
424 | kernel parameter hpet_mmap is not set) user access to the | |
425 | registers for applications that require it. | |
1da177e4 | 426 | |
1da177e4 LT |
427 | config HANGCHECK_TIMER |
428 | tristate "Hangcheck timer" | |
abf3ea1b | 429 | depends on X86 || IA64 || PPC64 || S390 |
1da177e4 LT |
430 | help |
431 | The hangcheck-timer module detects when the system has gone | |
432 | out to lunch past a certain margin. It can reboot the system | |
433 | or merely print a warning. | |
434 | ||
fbd8ae10 DS |
435 | config UV_MMTIMER |
436 | tristate "UV_MMTIMER Memory mapped RTC for SGI UV" | |
437 | depends on X86_UV | |
438 | default m | |
439 | help | |
440 | The uv_mmtimer device allows direct userspace access to the | |
441 | UV system timer. | |
442 | ||
1da177e4 LT |
443 | source "drivers/char/tpm/Kconfig" |
444 | ||
1a80ba88 | 445 | config TELCLOCK |
03154a27 | 446 | tristate "Telecom clock driver for ATCA SBC" |
65929215 | 447 | depends on X86 |
1a80ba88 MG |
448 | default n |
449 | help | |
03154a27 MG |
450 | The telecom clock device is specific to the MPCBL0010 and MPCBL0050 |
451 | ATCA computers and allows direct userspace access to the | |
452 | configuration of the telecom clock configuration settings. This | |
453 | device is used for hardware synchronization across the ATCA backplane | |
454 | fabric. Upon loading, the driver exports a sysfs directory, | |
455 | /sys/devices/platform/telco_clock, with a number of files for | |
456 | controlling the behavior of this hardware. | |
1a80ba88 | 457 | |
61d48c2c MS |
458 | source "drivers/s390/char/Kconfig" |
459 | ||
7051924f EB |
460 | source "drivers/char/xillybus/Kconfig" |
461 | ||
873c38a4 TH |
462 | config ADI |
463 | tristate "SPARC Privileged ADI driver" | |
464 | depends on SPARC64 | |
465 | default m | |
466 | help | |
467 | SPARC M7 and newer processors utilize ADI (Application Data | |
468 | Integrity) to version and protect memory. This driver provides | |
469 | read/write access to the ADI versions for privileged processes. | |
470 | This feature is also known as MCD (Memory Corruption Detection) | |
471 | and SSM (Silicon Secured Memory). Intended consumers of this | |
472 | driver include crash and makedumpfile. | |
473 | ||
1da177e4 LT |
474 | endmenu |
475 | ||
39a8883a TT |
476 | config RANDOM_TRUST_CPU |
477 | bool "Trust the CPU manufacturer to initialize Linux's CRNG" | |
23ae0c17 | 478 | depends on ARCH_RANDOM |
39a8883a TT |
479 | default n |
480 | help | |
481 | Assume that CPU manufacturer (e.g., Intel or AMD for RDSEED or | |
482 | RDRAND, IBM for the S390 and Power PC architectures) is trustworthy | |
483 | for the purposes of initializing Linux's CRNG. Since this is not | |
484 | something that can be independently audited, this amounts to trusting | |
485 | that CPU manufacturer (perhaps with the insistence or mandate | |
486 | of a Nation State's intelligence or law enforcement agencies) | |
487 | has not installed a hidden back door to compromise the CPU's | |
9b254366 KC |
488 | random number generation facilities. This can also be configured |
489 | at boot with "random.trust_cpu=on/off". | |
428826f5 HYW |
490 | |
491 | config RANDOM_TRUST_BOOTLOADER | |
492 | bool "Trust the bootloader to initialize Linux's CRNG" | |
493 | help | |
494 | Some bootloaders can provide entropy to increase the kernel's initial | |
495 | device randomness. Say Y here to assume the entropy provided by the | |
496 | booloader is trustworthy so it will be added to the kernel's entropy | |
497 | pool. Otherwise, say N here so it will be regarded as device input that | |
c8175bd1 | 498 | only mixes the entropy pool. |