Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | # |
| 3 | # Character device configuration |
| 4 | # |
| 5 | |
| 6 | menu "Character devices" |
| 7 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 8 | source "drivers/tty/Kconfig" |
Antonino A. Daplas | 13ae664 | 2006-06-26 00:27:12 -0700 | [diff] [blame] | 9 | |
Rob Ward | 73f0718 | 2014-12-07 15:40:33 +0000 | [diff] [blame] | 10 | config DEVMEM |
| 11 | bool "/dev/mem virtual device support" |
| 12 | default y |
| 13 | help |
| 14 | Say Y here if you want to support the /dev/mem device. |
| 15 | The /dev/mem device is used to access areas of physical |
| 16 | memory. |
| 17 | When in doubt, say "Y". |
| 18 | |
Arjan van de Ven | b781ecb | 2008-04-29 00:58:34 -0700 | [diff] [blame] | 19 | config DEVKMEM |
| 20 | bool "/dev/kmem virtual device support" |
Ard Biesheuvel | 06c35ef | 2017-06-20 08:59:00 +0200 | [diff] [blame] | 21 | # On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write |
| 22 | depends on !ARM64 |
Arjan van de Ven | b781ecb | 2008-04-29 00:58:34 -0700 | [diff] [blame] | 23 | help |
| 24 | Say Y here if you want to support the /dev/kmem device. The |
| 25 | /dev/kmem device is rarely used, but can be used for certain |
| 26 | kind of kernel debugging operations. |
| 27 | When in doubt, say "N". |
| 28 | |
Greg Kroah-Hartman | ab4382d | 2011-01-13 12:10:18 -0800 | [diff] [blame] | 29 | source "drivers/tty/serial/Kconfig" |
Rob Herring | cd6484e | 2017-02-02 13:48:07 -0600 | [diff] [blame] | 30 | source "drivers/tty/serdev/Kconfig" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | |
Samo Pogacnik | 24b4b67 | 2010-08-25 20:44:07 +0200 | [diff] [blame] | 32 | config TTY_PRINTK |
Takashi Iwai | b24313a | 2014-04-02 14:45:22 +0200 | [diff] [blame] | 33 | tristate "TTY driver to output user messages via printk" |
Joe Millenbach | 4f73bc4 | 2013-01-17 22:44:22 -0800 | [diff] [blame] | 34 | depends on EXPERT && TTY |
Samo Pogacnik | 24b4b67 | 2010-08-25 20:44:07 +0200 | [diff] [blame] | 35 | default n |
| 36 | ---help--- |
| 37 | If you say Y here, the support for writing user messages (i.e. |
| 38 | console messages) via printk is available. |
| 39 | |
| 40 | The feature is useful to inline user messages with kernel |
| 41 | messages. |
| 42 | In order to use this feature, you should output user messages |
| 43 | to /dev/ttyprintk or redirect console to this TTY. |
| 44 | |
| 45 | If unsure, say N. |
| 46 | |
Peter Korsgaard | acef666 | 2018-11-06 23:11:37 +0100 | [diff] [blame] | 47 | config TTY_PRINTK_LEVEL |
| 48 | depends on TTY_PRINTK |
| 49 | int "ttyprintk log level (1-7)" |
| 50 | range 1 7 |
| 51 | default "6" |
| 52 | help |
| 53 | Printk log level to use for ttyprintk messages. |
| 54 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 55 | config PRINTER |
| 56 | tristate "Parallel printer support" |
| 57 | depends on PARPORT |
| 58 | ---help--- |
| 59 | If you intend to attach a printer to the parallel port of your Linux |
| 60 | box (as opposed to using a serial printer; if the connector at the |
| 61 | printer has 9 or 25 holes ["female"], then it's serial), say Y. |
| 62 | Also read the Printing-HOWTO, available from |
| 63 | <http://www.tldp.org/docs.html#howto>. |
| 64 | |
| 65 | It is possible to share one parallel port among several devices |
| 66 | (e.g. printer and ZIP drive) and it is safe to compile the |
| 67 | corresponding drivers into the kernel. |
| 68 | |
| 69 | To compile this driver as a module, choose M here and read |
Mauro Carvalho Chehab | 5fb94e9 | 2018-05-08 15:14:57 -0300 | [diff] [blame] | 70 | <file:Documentation/admin-guide/parport.rst>. The module will be called lp. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 71 | |
| 72 | If you have several parallel ports, you can specify which ports to |
| 73 | use with the "lp" kernel command line option. (Try "man bootparam" |
| 74 | or see the documentation of your boot loader (lilo or loadlin) about |
| 75 | how to pass options to the kernel at boot time.) The syntax of the |
| 76 | "lp" command line option can be found in <file:drivers/char/lp.c>. |
| 77 | |
| 78 | If you have more than 8 printers, you need to increase the LP_NO |
| 79 | macro in lp.c and the PARPORT_MAX macro in parport.h. |
| 80 | |
| 81 | config LP_CONSOLE |
| 82 | bool "Support for console on line printer" |
| 83 | depends on PRINTER |
| 84 | ---help--- |
| 85 | If you want kernel messages to be printed out as they occur, you |
| 86 | can have a console on the printer. This option adds support for |
| 87 | doing that; to actually get it to happen you need to pass the |
| 88 | option "console=lp0" to the kernel at boot time. |
| 89 | |
| 90 | If the printer is out of paper (or off, or unplugged, or too |
| 91 | busy..) the kernel will stall until the printer is ready again. |
| 92 | By defining CONSOLE_LP_STRICT to 0 (at your own risk) you |
| 93 | can make the kernel continue when this happens, |
| 94 | but it'll lose the kernel messages. |
| 95 | |
| 96 | If unsure, say N. |
| 97 | |
| 98 | config PPDEV |
| 99 | tristate "Support for user-space parallel port device drivers" |
| 100 | depends on PARPORT |
| 101 | ---help--- |
| 102 | Saying Y to this adds support for /dev/parport device nodes. This |
| 103 | is needed for programs that want portable access to the parallel |
| 104 | port, for instance deviceid (which displays Plug-and-Play device |
| 105 | IDs). |
| 106 | |
| 107 | This is the parallel port equivalent of SCSI generic support (sg). |
| 108 | It is safe to say N to this -- it is not needed for normal printing |
| 109 | or parallel port CD-ROM/disk support. |
| 110 | |
| 111 | To compile this driver as a module, choose M here: the |
| 112 | module will be called ppdev. |
| 113 | |
| 114 | If unsure, say N. |
| 115 | |
Greg Kroah-Hartman | bdcffc5 | 2011-02-22 15:41:47 -0800 | [diff] [blame] | 116 | source "drivers/tty/hvc/Kconfig" |
Mike Frysinger | 5427bcf | 2011-02-04 20:45:49 -0500 | [diff] [blame] | 117 | |
Rusty Russell | 3161043 | 2007-10-22 11:03:39 +1000 | [diff] [blame] | 118 | config VIRTIO_CONSOLE |
Christian Borntraeger | 7721c49 | 2008-07-25 12:06:06 -0500 | [diff] [blame] | 119 | tristate "Virtio console" |
Joe Millenbach | 4f73bc4 | 2013-01-17 22:44:22 -0800 | [diff] [blame] | 120 | depends on VIRTIO && TTY |
Rusty Russell | 3161043 | 2007-10-22 11:03:39 +1000 | [diff] [blame] | 121 | select HVC_DRIVER |
Christian Borntraeger | 7721c49 | 2008-07-25 12:06:06 -0500 | [diff] [blame] | 122 | help |
Juergen Gross | ecda85e | 2017-08-16 19:31:57 +0200 | [diff] [blame] | 123 | Virtio console for use with hypervisors. |
Christian Borntraeger | 7721c49 | 2008-07-25 12:06:06 -0500 | [diff] [blame] | 124 | |
Amit Shah | fb08bd2 | 2009-12-21 21:36:04 +0530 | [diff] [blame] | 125 | Also serves as a general-purpose serial device for data |
| 126 | transfer between the guest and host. Character devices at |
| 127 | /dev/vportNpn will be created when corresponding ports are |
| 128 | found, where N is the device number and n is the port number |
| 129 | within that device. If specified by the host, a sysfs |
| 130 | attribute called 'name' will be populated with a name for |
| 131 | the port which can be used by udev scripts to create a |
| 132 | symlink to the device. |
Rusty Russell | 3161043 | 2007-10-22 11:03:39 +1000 | [diff] [blame] | 133 | |
Sonny Rao | fe9e8d5 | 2008-07-08 15:45:11 +1000 | [diff] [blame] | 134 | config IBM_BSR |
| 135 | tristate "IBM POWER Barrier Synchronization Register support" |
| 136 | depends on PPC_PSERIES |
| 137 | help |
| 138 | This devices exposes a hardware mechanism for fast synchronization |
| 139 | of threads across a large system which avoids bouncing a cacheline |
| 140 | between several cores on a system |
| 141 | |
Suraj Jitindar Singh | 43a1dd9 | 2016-06-29 13:38:39 +1000 | [diff] [blame] | 142 | config POWERNV_OP_PANEL |
| 143 | tristate "IBM POWERNV Operator Panel Display support" |
| 144 | depends on PPC_POWERNV |
| 145 | default m |
| 146 | help |
| 147 | If you say Y here, a special character device node, /dev/op_panel, |
| 148 | will be created which exposes the operator panel display on IBM |
| 149 | Power Systems machines with FSPs. |
| 150 | |
| 151 | If you don't require access to the operator panel display from user |
| 152 | space, say N. |
| 153 | |
| 154 | If unsure, say M here to build it as a module called powernv-op-panel. |
| 155 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 156 | source "drivers/char/ipmi/Kconfig" |
| 157 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 158 | config DS1620 |
| 159 | tristate "NetWinder thermometer support" |
| 160 | depends on ARCH_NETWINDER |
| 161 | help |
| 162 | Say Y here to include support for the thermal management hardware |
| 163 | found in the NetWinder. This driver allows the user to control the |
| 164 | temperature set points and to read the current temperature. |
| 165 | |
| 166 | It is also possible to say M here to build it as a module (ds1620) |
| 167 | It is recommended to be used on a NetWinder, but it is not a |
| 168 | necessity. |
| 169 | |
| 170 | config NWBUTTON |
| 171 | tristate "NetWinder Button" |
| 172 | depends on ARCH_NETWINDER |
| 173 | ---help--- |
| 174 | If you say Y here and create a character device node /dev/nwbutton |
| 175 | with major and minor numbers 10 and 158 ("man mknod"), then every |
| 176 | time the orange button is pressed a number of times, the number of |
| 177 | times the button was pressed will be written to that device. |
| 178 | |
| 179 | This is most useful for applications, as yet unwritten, which |
| 180 | perform actions based on how many times the button is pressed in a |
| 181 | row. |
| 182 | |
| 183 | Do not hold the button down for too long, as the driver does not |
| 184 | alter the behaviour of the hardware reset circuitry attached to the |
| 185 | button; it will still execute a hard reset if the button is held |
| 186 | down for longer than approximately five seconds. |
| 187 | |
| 188 | To compile this driver as a module, choose M here: the |
| 189 | module will be called nwbutton. |
| 190 | |
| 191 | Most people will answer Y to this question and "Reboot Using Button" |
| 192 | below to be able to initiate a system shutdown from the button. |
| 193 | |
| 194 | config NWBUTTON_REBOOT |
| 195 | bool "Reboot Using Button" |
| 196 | depends on NWBUTTON |
| 197 | help |
| 198 | If you say Y here, then you will be able to initiate a system |
| 199 | shutdown and reboot by pressing the orange button a number of times. |
| 200 | The number of presses to initiate the shutdown is two by default, |
| 201 | but this can be altered by modifying the value of NUM_PRESSES_REBOOT |
| 202 | in nwbutton.h and recompiling the driver or, if you compile the |
| 203 | driver as a module, you can specify the number of presses at load |
| 204 | time with "insmod button reboot_count=<something>". |
| 205 | |
| 206 | config NWFLASH |
| 207 | tristate "NetWinder flash support" |
| 208 | depends on ARCH_NETWINDER |
| 209 | ---help--- |
| 210 | If you say Y here and create a character device /dev/flash with |
| 211 | major 10 and minor 160 you can manipulate the flash ROM containing |
| 212 | the NetWinder firmware. Be careful as accidentally overwriting the |
| 213 | flash contents can render your computer unbootable. On no account |
| 214 | allow random users access to this device. :-) |
| 215 | |
| 216 | To compile this driver as a module, choose M here: the |
| 217 | module will be called nwflash. |
| 218 | |
| 219 | If you're not sure, say N. |
| 220 | |
Michael Buesch | 844dd05 | 2006-06-26 00:24:59 -0700 | [diff] [blame] | 221 | source "drivers/char/hw_random/Kconfig" |
| 222 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 223 | config NVRAM |
| 224 | tristate "/dev/nvram support" |
Finn Thain | f9c3a57 | 2019-01-15 15:18:56 +1100 | [diff] [blame] | 225 | depends on X86 || HAVE_ARCH_NVRAM_OPS |
| 226 | default M68K || PPC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 227 | ---help--- |
| 228 | If you say Y here and create a character special file /dev/nvram |
| 229 | with major number 10 and minor number 144 using mknod ("man mknod"), |
Finn Thain | f9c3a57 | 2019-01-15 15:18:56 +1100 | [diff] [blame] | 230 | you get read and write access to the non-volatile memory. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 231 | |
Finn Thain | f9c3a57 | 2019-01-15 15:18:56 +1100 | [diff] [blame] | 232 | /dev/nvram may be used to view settings in NVRAM or to change them |
| 233 | (with some utility). It could also be used to frequently |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 234 | save a few bits of very important data that may not be lost over |
| 235 | power-off and for which writing to disk is too insecure. Note |
| 236 | however that most NVRAM space in a PC belongs to the BIOS and you |
| 237 | should NEVER idly tamper with it. See Ralf Brown's interrupt list |
| 238 | for a guide to the use of CMOS bytes by your BIOS. |
| 239 | |
Finn Thain | f9c3a57 | 2019-01-15 15:18:56 +1100 | [diff] [blame] | 240 | This memory is conventionally called "NVRAM" on PowerPC machines, |
| 241 | "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes. |
| 242 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 243 | To compile this driver as a module, choose M here: the |
| 244 | module will be called nvram. |
| 245 | |
David Brownell | c750090 | 2008-04-28 02:11:52 -0700 | [diff] [blame] | 246 | # |
| 247 | # These legacy RTC drivers just cause too many conflicts with the generic |
| 248 | # RTC framework ... let's not even try to coexist any more. |
| 249 | # |
| 250 | if RTC_LIB=n |
| 251 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 252 | config RTC |
David Brownell | e6d2bb2 | 2008-06-12 15:21:55 -0700 | [diff] [blame] | 253 | tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" |
Arnd Bergmann | 05a0a34 | 2018-08-28 16:26:30 +0200 | [diff] [blame] | 254 | depends on ALPHA |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 255 | ---help--- |
| 256 | If you say Y here and create a character special file /dev/rtc with |
| 257 | major number 10 and minor number 135 using mknod ("man mknod"), you |
| 258 | will get access to the real time clock (or hardware clock) built |
| 259 | into your computer. |
| 260 | |
| 261 | Every PC has such a clock built in. It can be used to generate |
| 262 | signals from as low as 1Hz up to 8192Hz, and can also be used |
| 263 | as a 24 hour alarm. It reports status information via the file |
| 264 | /proc/driver/rtc and its behaviour is set by various ioctls on |
| 265 | /dev/rtc. |
| 266 | |
| 267 | If you run Linux on a multiprocessor machine and said Y to |
| 268 | "Symmetric Multi Processing" above, you should say Y here to read |
| 269 | and set the RTC in an SMP compatible fashion. |
| 270 | |
| 271 | If you think you have a use for such a device (such as periodic data |
Mauro Carvalho Chehab | 4f4cfa6 | 2019-06-27 14:56:51 -0300 | [diff] [blame] | 272 | sampling), then say Y here, and read <file:Documentation/admin-guide/rtc.rst> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 273 | for details. |
| 274 | |
| 275 | To compile this driver as a module, choose M here: the |
| 276 | module will be called rtc. |
| 277 | |
Al Viro | 2240598 | 2007-07-22 00:37:48 -0700 | [diff] [blame] | 278 | config JS_RTC |
| 279 | tristate "Enhanced Real Time Clock Support" |
| 280 | depends on SPARC32 && PCI |
| 281 | ---help--- |
| 282 | If you say Y here and create a character special file /dev/rtc with |
| 283 | major number 10 and minor number 135 using mknod ("man mknod"), you |
| 284 | will get access to the real time clock (or hardware clock) built |
| 285 | into your computer. |
| 286 | |
| 287 | Every PC has such a clock built in. It can be used to generate |
| 288 | signals from as low as 1Hz up to 8192Hz, and can also be used |
| 289 | as a 24 hour alarm. It reports status information via the file |
| 290 | /proc/driver/rtc and its behaviour is set by various ioctls on |
| 291 | /dev/rtc. |
| 292 | |
| 293 | If you think you have a use for such a device (such as periodic data |
Mauro Carvalho Chehab | 4f4cfa6 | 2019-06-27 14:56:51 -0300 | [diff] [blame] | 294 | sampling), then say Y here, and read <file:Documentation/admin-guide/rtc.rst> |
Al Viro | 2240598 | 2007-07-22 00:37:48 -0700 | [diff] [blame] | 295 | for details. |
| 296 | |
| 297 | To compile this driver as a module, choose M here: the |
| 298 | module will be called js-rtc. |
| 299 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 300 | config EFI_RTC |
| 301 | bool "EFI Real Time Clock Services" |
| 302 | depends on IA64 |
| 303 | |
David Brownell | c750090 | 2008-04-28 02:11:52 -0700 | [diff] [blame] | 304 | endif # RTC_LIB |
| 305 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 306 | config DTLK |
| 307 | tristate "Double Talk PC internal speech card support" |
Martin Schwidefsky | eeca7a3 | 2007-05-10 15:45:56 +0200 | [diff] [blame] | 308 | depends on ISA |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 309 | help |
| 310 | This driver is for the DoubleTalk PC, a speech synthesizer |
| 311 | manufactured by RC Systems (<http://www.rcsys.com/>). It is also |
| 312 | called the `internal DoubleTalk'. |
| 313 | |
| 314 | To compile this driver as a module, choose M here: the |
| 315 | module will be called dtlk. |
| 316 | |
Stephen Neuendorffer | ef141a0 | 2008-02-06 04:24:09 +1100 | [diff] [blame] | 317 | config XILINX_HWICAP |
| 318 | tristate "Xilinx HWICAP Support" |
Michal Simek | 6fa612b | 2009-05-11 15:49:12 +0200 | [diff] [blame] | 319 | depends on XILINX_VIRTEX || MICROBLAZE |
Stephen Neuendorffer | ef141a0 | 2008-02-06 04:24:09 +1100 | [diff] [blame] | 320 | help |
| 321 | This option enables support for Xilinx Internal Configuration |
| 322 | Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex |
| 323 | FPGA platforms to partially reconfigure the FPGA at runtime. |
| 324 | |
| 325 | If unsure, say N. |
| 326 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 327 | config R3964 |
| 328 | tristate "Siemens R3964 line discipline" |
Greg Kroah-Hartman | c7084ed | 2019-04-05 15:39:26 +0200 | [diff] [blame] | 329 | depends on TTY && BROKEN |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 330 | ---help--- |
| 331 | This driver allows synchronous communication with devices using the |
| 332 | Siemens R3964 packet protocol. Unless you are dealing with special |
| 333 | hardware like PLCs, you are unlikely to need this. |
| 334 | |
| 335 | To compile this driver as a module, choose M here: the |
| 336 | module will be called n_r3964. |
| 337 | |
| 338 | If unsure, say N. |
| 339 | |
| 340 | config APPLICOM |
| 341 | tristate "Applicom intelligent fieldbus card support" |
| 342 | depends on PCI |
| 343 | ---help--- |
| 344 | This driver provides the kernel-side support for the intelligent |
| 345 | fieldbus cards made by Applicom International. More information |
| 346 | about these cards can be found on the WWW at the address |
| 347 | <http://www.applicom-int.com/>, or by email from David Woodhouse |
| 348 | <dwmw2@infradead.org>. |
| 349 | |
| 350 | To compile this driver as a module, choose M here: the |
| 351 | module will be called applicom. |
| 352 | |
| 353 | If unsure, say N. |
| 354 | |
| 355 | config SONYPI |
Greg Kroah-Hartman | 6592921 | 2012-09-18 16:14:53 +0100 | [diff] [blame] | 356 | tristate "Sony Vaio Programmable I/O Control Device support" |
Jean Delvare | 57dcf02 | 2014-03-31 15:15:36 +0200 | [diff] [blame] | 357 | depends on X86_32 && PCI && INPUT |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 358 | ---help--- |
| 359 | This driver enables access to the Sony Programmable I/O Control |
| 360 | Device which can be found in many (all ?) Sony Vaio laptops. |
| 361 | |
| 362 | If you have one of those laptops, read |
Mauro Carvalho Chehab | 9e1cbed | 2019-06-13 15:07:43 -0300 | [diff] [blame] | 363 | <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 364 | |
| 365 | To compile this driver as a module, choose M here: the |
| 366 | module will be called sonypi. |
| 367 | |
Yoichi Yuasa | 0976251 | 2007-05-06 14:51:58 -0700 | [diff] [blame] | 368 | config GPIO_TB0219 |
| 369 | tristate "TANBAC TB0219 GPIO support" |
Robert P. J. Day | bef1f40 | 2006-12-12 20:04:19 +0100 | [diff] [blame] | 370 | depends on TANBAC_TB022X |
Yoichi Yuasa | 584e123 | 2006-06-25 05:49:11 -0700 | [diff] [blame] | 371 | select GPIO_VR41XX |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 372 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 373 | source "drivers/char/pcmcia/Kconfig" |
| 374 | |
| 375 | config MWAVE |
| 376 | tristate "ACP Modem (Mwave) support" |
Joe Millenbach | 4f73bc4 | 2013-01-17 22:44:22 -0800 | [diff] [blame] | 377 | depends on X86 && TTY |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 378 | select SERIAL_8250 |
| 379 | ---help--- |
| 380 | The ACP modem (Mwave) for Linux is a WinModem. It is composed of a |
| 381 | kernel driver and a user level application. Together these components |
| 382 | support direct attachment to public switched telephone networks (PSTNs) |
| 383 | and support selected world wide countries. |
| 384 | |
| 385 | This version of the ACP Modem driver supports the IBM Thinkpad 600E, |
| 386 | 600, and 770 that include on board ACP modem hardware. |
| 387 | |
| 388 | The modem also supports the standard communications port interface |
| 389 | (ttySx) and is compatible with the Hayes AT Command Set. |
| 390 | |
| 391 | The user level application needed to use this driver can be found at |
| 392 | the IBM Linux Technology Center (LTC) web site: |
| 393 | <http://www.ibm.com/linux/ltc/>. |
| 394 | |
| 395 | If you own one of the above IBM Thinkpads which has the Mwave chipset |
| 396 | in it, say Y. |
| 397 | |
| 398 | To compile this driver as a module, choose M here: the |
| 399 | module will be called mwave. |
| 400 | |
| 401 | config SCx200_GPIO |
| 402 | tristate "NatSemi SCx200 GPIO Support" |
| 403 | depends on SCx200 |
Jim Cromie | 7a8e2a5 | 2006-06-27 02:54:27 -0700 | [diff] [blame] | 404 | select NSC_GPIO |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 405 | help |
| 406 | Give userspace access to the GPIO pins on the National |
| 407 | Semiconductor SCx200 processors. |
| 408 | |
| 409 | If compiled as a module, it will be called scx200_gpio. |
| 410 | |
Jim Cromie | 7a8e2a5 | 2006-06-27 02:54:27 -0700 | [diff] [blame] | 411 | config PC8736x_GPIO |
| 412 | tristate "NatSemi PC8736x GPIO Support" |
Al Viro | 3369465 | 2011-08-18 20:11:59 +0100 | [diff] [blame] | 413 | depends on X86_32 && !UML |
Jim Cromie | 7a8e2a5 | 2006-06-27 02:54:27 -0700 | [diff] [blame] | 414 | default SCx200_GPIO # mostly N |
| 415 | select NSC_GPIO # needed for support routines |
| 416 | help |
| 417 | Give userspace access to the GPIO pins on the National |
| 418 | Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip |
| 419 | has multiple functional units, inc several managed by |
| 420 | hwmon/pc87360 driver. Tested with PC-87366 |
| 421 | |
| 422 | If compiled as a module, it will be called pc8736x_gpio. |
| 423 | |
| 424 | config NSC_GPIO |
| 425 | tristate "NatSemi Base GPIO Support" |
Dave Jones | 699352c | 2006-06-29 02:24:32 -0700 | [diff] [blame] | 426 | depends on X86_32 |
Jim Cromie | 7a8e2a5 | 2006-06-27 02:54:27 -0700 | [diff] [blame] | 427 | # selected by SCx200_GPIO and PC8736x_GPIO |
| 428 | # what about 2 selectors differing: m != y |
| 429 | help |
| 430 | Common support used (and needed) by scx200_gpio and |
| 431 | pc8736x_gpio drivers. If those drivers are built as |
| 432 | modules, this one will be too, named nsc_gpio |
| 433 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 434 | config RAW_DRIVER |
Dave Jones | abd4aa5 | 2007-07-15 23:40:49 -0700 | [diff] [blame] | 435 | tristate "RAW driver (/dev/raw/rawN)" |
David Howells | 9361401 | 2006-09-30 20:45:40 +0200 | [diff] [blame] | 436 | depends on BLOCK |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 437 | help |
Dave Jones | abd4aa5 | 2007-07-15 23:40:49 -0700 | [diff] [blame] | 438 | The raw driver permits block devices to be bound to /dev/raw/rawN. |
| 439 | Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 440 | See the raw(8) manpage for more details. |
| 441 | |
Krzysztof Kozlowski | c8175bd | 2019-11-20 21:42:47 +0800 | [diff] [blame] | 442 | Applications should preferably open the device (eg /dev/hda1) |
| 443 | with the O_DIRECT flag. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 444 | |
Andrew Morton | 0de502a | 2005-12-12 00:37:41 -0800 | [diff] [blame] | 445 | config MAX_RAW_DEVS |
Jan Kara | 0078bff | 2011-04-29 00:24:29 +0200 | [diff] [blame] | 446 | int "Maximum number of RAW devices to support (1-65536)" |
Andrew Morton | 0de502a | 2005-12-12 00:37:41 -0800 | [diff] [blame] | 447 | depends on RAW_DRIVER |
Paul Bolle | 7143479 | 2014-02-04 23:23:40 +0100 | [diff] [blame] | 448 | range 1 65536 |
Andrew Morton | 0de502a | 2005-12-12 00:37:41 -0800 | [diff] [blame] | 449 | default "256" |
| 450 | help |
| 451 | The maximum number of RAW devices that are supported. |
| 452 | Default is 256. Increase this number in case you need lots of |
| 453 | raw devices. |
| 454 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 455 | config HPET |
| 456 | bool "HPET - High Precision Event Timer" if (X86 || IA64) |
| 457 | default n |
| 458 | depends on ACPI |
| 459 | help |
| 460 | If you say Y here, you will have a miscdevice named "/dev/hpet/". Each |
| 461 | open selects one of the timers supported by the HPET. The timers are |
Matt LaPlante | 3cb2fcc | 2006-11-30 05:22:59 +0100 | [diff] [blame] | 462 | non-periodic and/or periodic. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 463 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 464 | config HPET_MMAP |
| 465 | bool "Allow mmap of HPET" |
| 466 | default y |
| 467 | depends on HPET |
| 468 | help |
| 469 | If you say Y here, user applications will be able to mmap |
| 470 | the HPET registers. |
| 471 | |
Prarit Bhargava | 3d035f5 | 2013-11-12 15:08:33 -0800 | [diff] [blame] | 472 | config HPET_MMAP_DEFAULT |
| 473 | bool "Enable HPET MMAP access by default" |
| 474 | default y |
| 475 | depends on HPET_MMAP |
| 476 | help |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 477 | In some hardware implementations, the page containing HPET |
| 478 | registers may also contain other things that shouldn't be |
Prarit Bhargava | 3d035f5 | 2013-11-12 15:08:33 -0800 | [diff] [blame] | 479 | exposed to the user. This option selects the default (if |
| 480 | kernel parameter hpet_mmap is not set) user access to the |
| 481 | registers for applications that require it. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 482 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 483 | config HANGCHECK_TIMER |
| 484 | tristate "Hangcheck timer" |
Martin Schwidefsky | abf3ea1 | 2007-05-10 15:45:59 +0200 | [diff] [blame] | 485 | depends on X86 || IA64 || PPC64 || S390 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 486 | help |
| 487 | The hangcheck-timer module detects when the system has gone |
| 488 | out to lunch past a certain margin. It can reboot the system |
| 489 | or merely print a warning. |
| 490 | |
Dimitri Sivanich | fbd8ae1 | 2009-09-23 15:57:15 -0700 | [diff] [blame] | 491 | config UV_MMTIMER |
| 492 | tristate "UV_MMTIMER Memory mapped RTC for SGI UV" |
| 493 | depends on X86_UV |
| 494 | default m |
| 495 | help |
| 496 | The uv_mmtimer device allows direct userspace access to the |
| 497 | UV system timer. |
| 498 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 499 | source "drivers/char/tpm/Kconfig" |
| 500 | |
Mark Gross | 1a80ba8 | 2005-10-30 15:02:55 -0800 | [diff] [blame] | 501 | config TELCLOCK |
Mark Gross | 03154a2 | 2007-03-06 13:58:45 -0800 | [diff] [blame] | 502 | tristate "Telecom clock driver for ATCA SBC" |
Greg Kroah-Hartman | 6592921 | 2012-09-18 16:14:53 +0100 | [diff] [blame] | 503 | depends on X86 |
Mark Gross | 1a80ba8 | 2005-10-30 15:02:55 -0800 | [diff] [blame] | 504 | default n |
| 505 | help |
Mark Gross | 03154a2 | 2007-03-06 13:58:45 -0800 | [diff] [blame] | 506 | The telecom clock device is specific to the MPCBL0010 and MPCBL0050 |
| 507 | ATCA computers and allows direct userspace access to the |
| 508 | configuration of the telecom clock configuration settings. This |
| 509 | device is used for hardware synchronization across the ATCA backplane |
| 510 | fabric. Upon loading, the driver exports a sysfs directory, |
| 511 | /sys/devices/platform/telco_clock, with a number of files for |
| 512 | controlling the behavior of this hardware. |
Mark Gross | 1a80ba8 | 2005-10-30 15:02:55 -0800 | [diff] [blame] | 513 | |
Russell King | 4f911d6 | 2007-05-08 00:28:17 -0700 | [diff] [blame] | 514 | config DEVPORT |
Max Bires | f2cfa58 | 2017-01-03 08:18:07 -0800 | [diff] [blame] | 515 | bool "/dev/port character device" |
Russell King | 4f911d6 | 2007-05-08 00:28:17 -0700 | [diff] [blame] | 516 | depends on ISA || PCI |
| 517 | default y |
Max Bires | f2cfa58 | 2017-01-03 08:18:07 -0800 | [diff] [blame] | 518 | help |
| 519 | Say Y here if you want to support the /dev/port device. The /dev/port |
| 520 | device is similar to /dev/mem, but for I/O ports. |
Russell King | 4f911d6 | 2007-05-08 00:28:17 -0700 | [diff] [blame] | 521 | |
Martin Schwidefsky | 61d48c2 | 2007-05-10 15:46:00 +0200 | [diff] [blame] | 522 | source "drivers/s390/char/Kconfig" |
| 523 | |
Eli Billauer | 7051924 | 2014-09-09 09:36:04 +0300 | [diff] [blame] | 524 | source "drivers/char/xillybus/Kconfig" |
| 525 | |
Tom Hromatka | 873c38a | 2018-04-26 10:54:08 -0600 | [diff] [blame] | 526 | config ADI |
| 527 | tristate "SPARC Privileged ADI driver" |
| 528 | depends on SPARC64 |
| 529 | default m |
| 530 | help |
| 531 | SPARC M7 and newer processors utilize ADI (Application Data |
| 532 | Integrity) to version and protect memory. This driver provides |
| 533 | read/write access to the ADI versions for privileged processes. |
| 534 | This feature is also known as MCD (Memory Corruption Detection) |
| 535 | and SSM (Silicon Secured Memory). Intended consumers of this |
| 536 | driver include crash and makedumpfile. |
| 537 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 538 | endmenu |
| 539 | |
Theodore Ts'o | 39a8883 | 2018-07-17 18:24:27 -0400 | [diff] [blame] | 540 | config RANDOM_TRUST_CPU |
| 541 | bool "Trust the CPU manufacturer to initialize Linux's CRNG" |
Richard Henderson | 23ae0c1 | 2020-02-10 13:00:15 +0000 | [diff] [blame^] | 542 | depends on ARCH_RANDOM |
Theodore Ts'o | 39a8883 | 2018-07-17 18:24:27 -0400 | [diff] [blame] | 543 | default n |
| 544 | help |
| 545 | Assume that CPU manufacturer (e.g., Intel or AMD for RDSEED or |
| 546 | RDRAND, IBM for the S390 and Power PC architectures) is trustworthy |
| 547 | for the purposes of initializing Linux's CRNG. Since this is not |
| 548 | something that can be independently audited, this amounts to trusting |
| 549 | that CPU manufacturer (perhaps with the insistence or mandate |
| 550 | of a Nation State's intelligence or law enforcement agencies) |
| 551 | has not installed a hidden back door to compromise the CPU's |
Kees Cook | 9b25436 | 2018-08-27 14:51:54 -0700 | [diff] [blame] | 552 | random number generation facilities. This can also be configured |
| 553 | at boot with "random.trust_cpu=on/off". |
Hsin-Yi Wang | 428826f | 2019-08-23 14:24:51 +0800 | [diff] [blame] | 554 | |
| 555 | config RANDOM_TRUST_BOOTLOADER |
| 556 | bool "Trust the bootloader to initialize Linux's CRNG" |
| 557 | help |
| 558 | Some bootloaders can provide entropy to increase the kernel's initial |
| 559 | device randomness. Say Y here to assume the entropy provided by the |
| 560 | booloader is trustworthy so it will be added to the kernel's entropy |
| 561 | pool. Otherwise, say N here so it will be regarded as device input that |
Krzysztof Kozlowski | c8175bd | 2019-11-20 21:42:47 +0800 | [diff] [blame] | 562 | only mixes the entropy pool. |