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