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