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