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