18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Character device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenu "Character devices"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cisource "drivers/tty/Kconfig"
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciconfig TTY_PRINTK
118c2ecf20Sopenharmony_ci	tristate "TTY driver to output user messages via printk"
128c2ecf20Sopenharmony_ci	depends on EXPERT && TTY
138c2ecf20Sopenharmony_ci	default n
148c2ecf20Sopenharmony_ci	help
158c2ecf20Sopenharmony_ci	  If you say Y here, the support for writing user messages (i.e.
168c2ecf20Sopenharmony_ci	  console messages) via printk is available.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	  The feature is useful to inline user messages with kernel
198c2ecf20Sopenharmony_ci	  messages.
208c2ecf20Sopenharmony_ci	  In order to use this feature, you should output user messages
218c2ecf20Sopenharmony_ci	  to /dev/ttyprintk or redirect console to this TTY.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	  If unsure, say N.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciconfig TTY_PRINTK_LEVEL
268c2ecf20Sopenharmony_ci	depends on TTY_PRINTK
278c2ecf20Sopenharmony_ci	int "ttyprintk log level (1-7)"
288c2ecf20Sopenharmony_ci	range 1 7
298c2ecf20Sopenharmony_ci	default "6"
308c2ecf20Sopenharmony_ci	help
318c2ecf20Sopenharmony_ci	  Printk log level to use for ttyprintk messages.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciconfig PRINTER
348c2ecf20Sopenharmony_ci	tristate "Parallel printer support"
358c2ecf20Sopenharmony_ci	depends on PARPORT
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  If you intend to attach a printer to the parallel port of your Linux
388c2ecf20Sopenharmony_ci	  box (as opposed to using a serial printer; if the connector at the
398c2ecf20Sopenharmony_ci	  printer has 9 or 25 holes ["female"], then it's serial), say Y.
408c2ecf20Sopenharmony_ci	  Also read the Printing-HOWTO, available from
418c2ecf20Sopenharmony_ci	  <https://www.tldp.org/docs.html#howto>.
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	  It is possible to share one parallel port among several devices
448c2ecf20Sopenharmony_ci	  (e.g. printer and ZIP drive) and it is safe to compile the
458c2ecf20Sopenharmony_ci	  corresponding drivers into the kernel.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here and read
488c2ecf20Sopenharmony_ci	  <file:Documentation/admin-guide/parport.rst>.  The module will be called lp.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	  If you have several parallel ports, you can specify which ports to
518c2ecf20Sopenharmony_ci	  use with the "lp" kernel command line option.  (Try "man bootparam"
528c2ecf20Sopenharmony_ci	  or see the documentation of your boot loader (lilo or loadlin) about
538c2ecf20Sopenharmony_ci	  how to pass options to the kernel at boot time.)  The syntax of the
548c2ecf20Sopenharmony_ci	  "lp" command line option can be found in <file:drivers/char/lp.c>.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  If you have more than 8 printers, you need to increase the LP_NO
578c2ecf20Sopenharmony_ci	  macro in lp.c and the PARPORT_MAX macro in parport.h.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig LP_CONSOLE
608c2ecf20Sopenharmony_ci	bool "Support for console on line printer"
618c2ecf20Sopenharmony_ci	depends on PRINTER
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  If you want kernel messages to be printed out as they occur, you
648c2ecf20Sopenharmony_ci	  can have a console on the printer. This option adds support for
658c2ecf20Sopenharmony_ci	  doing that; to actually get it to happen you need to pass the
668c2ecf20Sopenharmony_ci	  option "console=lp0" to the kernel at boot time.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci	  If the printer is out of paper (or off, or unplugged, or too
698c2ecf20Sopenharmony_ci	  busy..) the kernel will stall until the printer is ready again.
708c2ecf20Sopenharmony_ci	  By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
718c2ecf20Sopenharmony_ci	  can make the kernel continue when this happens,
728c2ecf20Sopenharmony_ci	  but it'll lose the kernel messages.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	  If unsure, say N.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig PPDEV
778c2ecf20Sopenharmony_ci	tristate "Support for user-space parallel port device drivers"
788c2ecf20Sopenharmony_ci	depends on PARPORT
798c2ecf20Sopenharmony_ci	help
808c2ecf20Sopenharmony_ci	  Saying Y to this adds support for /dev/parport device nodes.  This
818c2ecf20Sopenharmony_ci	  is needed for programs that want portable access to the parallel
828c2ecf20Sopenharmony_ci	  port, for instance deviceid (which displays Plug-and-Play device
838c2ecf20Sopenharmony_ci	  IDs).
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  This is the parallel port equivalent of SCSI generic support (sg).
868c2ecf20Sopenharmony_ci	  It is safe to say N to this -- it is not needed for normal printing
878c2ecf20Sopenharmony_ci	  or parallel port CD-ROM/disk support.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
908c2ecf20Sopenharmony_ci	  module will be called ppdev.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  If unsure, say N.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ciconfig VIRTIO_CONSOLE
958c2ecf20Sopenharmony_ci	tristate "Virtio console"
968c2ecf20Sopenharmony_ci	depends on TTY
978c2ecf20Sopenharmony_ci	select HVC_DRIVER
988c2ecf20Sopenharmony_ci	select VIRTIO
998c2ecf20Sopenharmony_ci	help
1008c2ecf20Sopenharmony_ci	  Virtio console for use with hypervisors.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci	  Also serves as a general-purpose serial device for data
1038c2ecf20Sopenharmony_ci	  transfer between the guest and host.  Character devices at
1048c2ecf20Sopenharmony_ci	  /dev/vportNpn will be created when corresponding ports are
1058c2ecf20Sopenharmony_ci	  found, where N is the device number and n is the port number
1068c2ecf20Sopenharmony_ci	  within that device.  If specified by the host, a sysfs
1078c2ecf20Sopenharmony_ci	  attribute called 'name' will be populated with a name for
1088c2ecf20Sopenharmony_ci	  the port which can be used by udev scripts to create a
1098c2ecf20Sopenharmony_ci	  symlink to the device.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciconfig IBM_BSR
1128c2ecf20Sopenharmony_ci	tristate "IBM POWER Barrier Synchronization Register support"
1138c2ecf20Sopenharmony_ci	depends on PPC_PSERIES
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  This devices exposes a hardware mechanism for fast synchronization
1168c2ecf20Sopenharmony_ci	  of threads across a large system which avoids bouncing a cacheline
1178c2ecf20Sopenharmony_ci	  between several cores on a system
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciconfig POWERNV_OP_PANEL
1208c2ecf20Sopenharmony_ci	tristate "IBM POWERNV Operator Panel Display support"
1218c2ecf20Sopenharmony_ci	depends on PPC_POWERNV
1228c2ecf20Sopenharmony_ci	default m
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  If you say Y here, a special character device node, /dev/op_panel,
1258c2ecf20Sopenharmony_ci	  will be created which exposes the operator panel display on IBM
1268c2ecf20Sopenharmony_ci	  Power Systems machines with FSPs.
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci	  If you don't require access to the operator panel display from user
1298c2ecf20Sopenharmony_ci	  space, say N.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci	  If unsure, say M here to build it as a module called powernv-op-panel.
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_cisource "drivers/char/ipmi/Kconfig"
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ciconfig DS1620
1368c2ecf20Sopenharmony_ci	tristate "NetWinder thermometer support"
1378c2ecf20Sopenharmony_ci	depends on ARCH_NETWINDER
1388c2ecf20Sopenharmony_ci	help
1398c2ecf20Sopenharmony_ci	  Say Y here to include support for the thermal management hardware
1408c2ecf20Sopenharmony_ci	  found in the NetWinder. This driver allows the user to control the
1418c2ecf20Sopenharmony_ci	  temperature set points and to read the current temperature.
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci	  It is also possible to say M here to build it as a module (ds1620)
1448c2ecf20Sopenharmony_ci	  It is recommended to be used on a NetWinder, but it is not a
1458c2ecf20Sopenharmony_ci	  necessity.
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ciconfig NWBUTTON
1488c2ecf20Sopenharmony_ci	tristate "NetWinder Button"
1498c2ecf20Sopenharmony_ci	depends on ARCH_NETWINDER
1508c2ecf20Sopenharmony_ci	help
1518c2ecf20Sopenharmony_ci	  If you say Y here and create a character device node /dev/nwbutton
1528c2ecf20Sopenharmony_ci	  with major and minor numbers 10 and 158 ("man mknod"), then every
1538c2ecf20Sopenharmony_ci	  time the orange button is pressed a number of times, the number of
1548c2ecf20Sopenharmony_ci	  times the button was pressed will be written to that device.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	  This is most useful for applications, as yet unwritten, which
1578c2ecf20Sopenharmony_ci	  perform actions based on how many times the button is pressed in a
1588c2ecf20Sopenharmony_ci	  row.
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci	  Do not hold the button down for too long, as the driver does not
1618c2ecf20Sopenharmony_ci	  alter the behaviour of the hardware reset circuitry attached to the
1628c2ecf20Sopenharmony_ci	  button; it will still execute a hard reset if the button is held
1638c2ecf20Sopenharmony_ci	  down for longer than approximately five seconds.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1668c2ecf20Sopenharmony_ci	  module will be called nwbutton.
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci	  Most people will answer Y to this question and "Reboot Using Button"
1698c2ecf20Sopenharmony_ci	  below to be able to initiate a system shutdown from the button.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig NWBUTTON_REBOOT
1728c2ecf20Sopenharmony_ci	bool "Reboot Using Button"
1738c2ecf20Sopenharmony_ci	depends on NWBUTTON
1748c2ecf20Sopenharmony_ci	help
1758c2ecf20Sopenharmony_ci	  If you say Y here, then you will be able to initiate a system
1768c2ecf20Sopenharmony_ci	  shutdown and reboot by pressing the orange button a number of times.
1778c2ecf20Sopenharmony_ci	  The number of presses to initiate the shutdown is two by default,
1788c2ecf20Sopenharmony_ci	  but this can be altered by modifying the value of NUM_PRESSES_REBOOT
1798c2ecf20Sopenharmony_ci	  in nwbutton.h and recompiling the driver or, if you compile the
1808c2ecf20Sopenharmony_ci	  driver as a module, you can specify the number of presses at load
1818c2ecf20Sopenharmony_ci	  time with "insmod button reboot_count=<something>".
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig NWFLASH
1848c2ecf20Sopenharmony_ci	tristate "NetWinder flash support"
1858c2ecf20Sopenharmony_ci	depends on ARCH_NETWINDER
1868c2ecf20Sopenharmony_ci	help
1878c2ecf20Sopenharmony_ci	  If you say Y here and create a character device /dev/flash with
1888c2ecf20Sopenharmony_ci	  major 10 and minor 160 you can manipulate the flash ROM containing
1898c2ecf20Sopenharmony_ci	  the NetWinder firmware. Be careful as accidentally overwriting the
1908c2ecf20Sopenharmony_ci	  flash contents can render your computer unbootable. On no account
1918c2ecf20Sopenharmony_ci	  allow random users access to this device. :-)
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1948c2ecf20Sopenharmony_ci	  module will be called nwflash.
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci	  If you're not sure, say N.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_cisource "drivers/char/hw_random/Kconfig"
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ciconfig DTLK
2018c2ecf20Sopenharmony_ci	tristate "Double Talk PC internal speech card support"
2028c2ecf20Sopenharmony_ci	depends on ISA
2038c2ecf20Sopenharmony_ci	help
2048c2ecf20Sopenharmony_ci	  This driver is for the DoubleTalk PC, a speech synthesizer
2058c2ecf20Sopenharmony_ci	  manufactured by RC Systems (<https://www.rcsys.com/>).  It is also
2068c2ecf20Sopenharmony_ci	  called the `internal DoubleTalk'.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2098c2ecf20Sopenharmony_ci	  module will be called dtlk.
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ciconfig XILINX_HWICAP
2128c2ecf20Sopenharmony_ci	tristate "Xilinx HWICAP Support"
2138c2ecf20Sopenharmony_ci	depends on MICROBLAZE
2148c2ecf20Sopenharmony_ci	help
2158c2ecf20Sopenharmony_ci	  This option enables support for Xilinx Internal Configuration
2168c2ecf20Sopenharmony_ci	  Access Port (ICAP) driver.  The ICAP is used on Xilinx Virtex
2178c2ecf20Sopenharmony_ci	  FPGA platforms to partially reconfigure the FPGA at runtime.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci	  If unsure, say N.
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ciconfig R3964
2228c2ecf20Sopenharmony_ci	tristate "Siemens R3964 line discipline"
2238c2ecf20Sopenharmony_ci	depends on TTY && BROKEN
2248c2ecf20Sopenharmony_ci	help
2258c2ecf20Sopenharmony_ci	  This driver allows synchronous communication with devices using the
2268c2ecf20Sopenharmony_ci	  Siemens R3964 packet protocol. Unless you are dealing with special
2278c2ecf20Sopenharmony_ci	  hardware like PLCs, you are unlikely to need this.
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2308c2ecf20Sopenharmony_ci	  module will be called n_r3964.
2318c2ecf20Sopenharmony_ci
2328c2ecf20Sopenharmony_ci	  If unsure, say N.
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ciconfig APPLICOM
2358c2ecf20Sopenharmony_ci	tristate "Applicom intelligent fieldbus card support"
2368c2ecf20Sopenharmony_ci	depends on PCI
2378c2ecf20Sopenharmony_ci	help
2388c2ecf20Sopenharmony_ci	  This driver provides the kernel-side support for the intelligent
2398c2ecf20Sopenharmony_ci	  fieldbus cards made by Applicom International. More information
2408c2ecf20Sopenharmony_ci	  about these cards can be found on the WWW at the address
2418c2ecf20Sopenharmony_ci	  <https://www.applicom-int.com/>, or by email from David Woodhouse
2428c2ecf20Sopenharmony_ci	  <dwmw2@infradead.org>.
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2458c2ecf20Sopenharmony_ci	  module will be called applicom.
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci	  If unsure, say N.
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciconfig SONYPI
2508c2ecf20Sopenharmony_ci	tristate "Sony Vaio Programmable I/O Control Device support"
2518c2ecf20Sopenharmony_ci	depends on X86_32 && PCI && INPUT
2528c2ecf20Sopenharmony_ci	help
2538c2ecf20Sopenharmony_ci	  This driver enables access to the Sony Programmable I/O Control
2548c2ecf20Sopenharmony_ci	  Device which can be found in many (all ?) Sony Vaio laptops.
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci	  If you have one of those laptops, read
2578c2ecf20Sopenharmony_ci	  <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here.
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2608c2ecf20Sopenharmony_ci	  module will be called sonypi.
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ciconfig GPIO_TB0219
2638c2ecf20Sopenharmony_ci	tristate "TANBAC TB0219 GPIO support"
2648c2ecf20Sopenharmony_ci	depends on TANBAC_TB022X
2658c2ecf20Sopenharmony_ci	select GPIO_VR41XX
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_cisource "drivers/char/pcmcia/Kconfig"
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ciconfig MWAVE
2708c2ecf20Sopenharmony_ci	tristate "ACP Modem (Mwave) support"
2718c2ecf20Sopenharmony_ci	depends on X86 && TTY
2728c2ecf20Sopenharmony_ci	select SERIAL_8250
2738c2ecf20Sopenharmony_ci	help
2748c2ecf20Sopenharmony_ci	  The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
2758c2ecf20Sopenharmony_ci	  kernel driver and a user level application. Together these components
2768c2ecf20Sopenharmony_ci	  support direct attachment to public switched telephone networks (PSTNs)
2778c2ecf20Sopenharmony_ci	  and support selected world wide countries.
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci	  This version of the ACP Modem driver supports the IBM Thinkpad 600E,
2808c2ecf20Sopenharmony_ci	  600, and 770 that include on board ACP modem hardware.
2818c2ecf20Sopenharmony_ci
2828c2ecf20Sopenharmony_ci	  The modem also supports the standard communications port interface
2838c2ecf20Sopenharmony_ci	  (ttySx) and is compatible with the Hayes AT Command Set.
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci	  The user level application needed to use this driver can be found at
2868c2ecf20Sopenharmony_ci	  the IBM Linux Technology Center (LTC) web site:
2878c2ecf20Sopenharmony_ci	  <http://www.ibm.com/linux/ltc/>.
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ci	  If you own one of the above IBM Thinkpads which has the Mwave chipset
2908c2ecf20Sopenharmony_ci	  in it, say Y.
2918c2ecf20Sopenharmony_ci
2928c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2938c2ecf20Sopenharmony_ci	  module will be called mwave.
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ciconfig SCx200_GPIO
2968c2ecf20Sopenharmony_ci	tristate "NatSemi SCx200 GPIO Support"
2978c2ecf20Sopenharmony_ci	depends on SCx200
2988c2ecf20Sopenharmony_ci	select NSC_GPIO
2998c2ecf20Sopenharmony_ci	help
3008c2ecf20Sopenharmony_ci	  Give userspace access to the GPIO pins on the National
3018c2ecf20Sopenharmony_ci	  Semiconductor SCx200 processors.
3028c2ecf20Sopenharmony_ci
3038c2ecf20Sopenharmony_ci	  If compiled as a module, it will be called scx200_gpio.
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_ciconfig PC8736x_GPIO
3068c2ecf20Sopenharmony_ci	tristate "NatSemi PC8736x GPIO Support"
3078c2ecf20Sopenharmony_ci	depends on X86_32 && !UML
3088c2ecf20Sopenharmony_ci	default SCx200_GPIO	# mostly N
3098c2ecf20Sopenharmony_ci	select NSC_GPIO		# needed for support routines
3108c2ecf20Sopenharmony_ci	help
3118c2ecf20Sopenharmony_ci	  Give userspace access to the GPIO pins on the National
3128c2ecf20Sopenharmony_ci	  Semiconductor PC-8736x (x=[03456]) SuperIO chip.  The chip
3138c2ecf20Sopenharmony_ci	  has multiple functional units, inc several managed by
3148c2ecf20Sopenharmony_ci	  hwmon/pc87360 driver.  Tested with PC-87366
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ci	  If compiled as a module, it will be called pc8736x_gpio.
3178c2ecf20Sopenharmony_ci
3188c2ecf20Sopenharmony_ciconfig NSC_GPIO
3198c2ecf20Sopenharmony_ci	tristate "NatSemi Base GPIO Support"
3208c2ecf20Sopenharmony_ci	depends on X86_32
3218c2ecf20Sopenharmony_ci	# selected by SCx200_GPIO and PC8736x_GPIO
3228c2ecf20Sopenharmony_ci	# what about 2 selectors differing: m != y
3238c2ecf20Sopenharmony_ci	help
3248c2ecf20Sopenharmony_ci	  Common support used (and needed) by scx200_gpio and
3258c2ecf20Sopenharmony_ci	  pc8736x_gpio drivers.  If those drivers are built as
3268c2ecf20Sopenharmony_ci	  modules, this one will be too, named nsc_gpio
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ciconfig DEVMEM
3298c2ecf20Sopenharmony_ci	bool "/dev/mem virtual device support"
3308c2ecf20Sopenharmony_ci	default y
3318c2ecf20Sopenharmony_ci	help
3328c2ecf20Sopenharmony_ci	  Say Y here if you want to support the /dev/mem device.
3338c2ecf20Sopenharmony_ci	  The /dev/mem device is used to access areas of physical
3348c2ecf20Sopenharmony_ci	  memory.
3358c2ecf20Sopenharmony_ci	  When in doubt, say "Y".
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ciconfig DEVKMEM
3388c2ecf20Sopenharmony_ci	bool "/dev/kmem virtual device support"
3398c2ecf20Sopenharmony_ci	# On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write
3408c2ecf20Sopenharmony_ci	depends on !ARM64
3418c2ecf20Sopenharmony_ci	help
3428c2ecf20Sopenharmony_ci	  Say Y here if you want to support the /dev/kmem device. The
3438c2ecf20Sopenharmony_ci	  /dev/kmem device is rarely used, but can be used for certain
3448c2ecf20Sopenharmony_ci	  kind of kernel debugging operations.
3458c2ecf20Sopenharmony_ci	  When in doubt, say "N".
3468c2ecf20Sopenharmony_ci
3478c2ecf20Sopenharmony_ciconfig NVRAM
3488c2ecf20Sopenharmony_ci	tristate "/dev/nvram support"
3498c2ecf20Sopenharmony_ci	depends on X86 || HAVE_ARCH_NVRAM_OPS
3508c2ecf20Sopenharmony_ci	default M68K || PPC
3518c2ecf20Sopenharmony_ci	help
3528c2ecf20Sopenharmony_ci	  If you say Y here and create a character special file /dev/nvram
3538c2ecf20Sopenharmony_ci	  with major number 10 and minor number 144 using mknod ("man mknod"),
3548c2ecf20Sopenharmony_ci	  you get read and write access to the non-volatile memory.
3558c2ecf20Sopenharmony_ci
3568c2ecf20Sopenharmony_ci	  /dev/nvram may be used to view settings in NVRAM or to change them
3578c2ecf20Sopenharmony_ci	  (with some utility). It could also be used to frequently
3588c2ecf20Sopenharmony_ci	  save a few bits of very important data that may not be lost over
3598c2ecf20Sopenharmony_ci	  power-off and for which writing to disk is too insecure. Note
3608c2ecf20Sopenharmony_ci	  however that most NVRAM space in a PC belongs to the BIOS and you
3618c2ecf20Sopenharmony_ci	  should NEVER idly tamper with it. See Ralf Brown's interrupt list
3628c2ecf20Sopenharmony_ci	  for a guide to the use of CMOS bytes by your BIOS.
3638c2ecf20Sopenharmony_ci
3648c2ecf20Sopenharmony_ci	  This memory is conventionally called "NVRAM" on PowerPC machines,
3658c2ecf20Sopenharmony_ci	  "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes.
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3688c2ecf20Sopenharmony_ci	  module will be called nvram.
3698c2ecf20Sopenharmony_ci
3708c2ecf20Sopenharmony_ciconfig RAW_DRIVER
3718c2ecf20Sopenharmony_ci	tristate "RAW driver (/dev/raw/rawN)"
3728c2ecf20Sopenharmony_ci	depends on BLOCK
3738c2ecf20Sopenharmony_ci	help
3748c2ecf20Sopenharmony_ci	  The raw driver permits block devices to be bound to /dev/raw/rawN.
3758c2ecf20Sopenharmony_ci	  Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
3768c2ecf20Sopenharmony_ci	  See the raw(8) manpage for more details.
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ci	  Applications should preferably open the device (eg /dev/hda1)
3798c2ecf20Sopenharmony_ci	  with the O_DIRECT flag.
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ciconfig MAX_RAW_DEVS
3828c2ecf20Sopenharmony_ci	int "Maximum number of RAW devices to support (1-65536)"
3838c2ecf20Sopenharmony_ci	depends on RAW_DRIVER
3848c2ecf20Sopenharmony_ci	range 1 65536
3858c2ecf20Sopenharmony_ci	default "256"
3868c2ecf20Sopenharmony_ci	help
3878c2ecf20Sopenharmony_ci	  The maximum number of RAW devices that are supported.
3888c2ecf20Sopenharmony_ci	  Default is 256. Increase this number in case you need lots of
3898c2ecf20Sopenharmony_ci	  raw devices.
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ciconfig DEVPORT
3928c2ecf20Sopenharmony_ci	bool "/dev/port character device"
3938c2ecf20Sopenharmony_ci	depends on ISA || PCI
3948c2ecf20Sopenharmony_ci	default y
3958c2ecf20Sopenharmony_ci	help
3968c2ecf20Sopenharmony_ci	  Say Y here if you want to support the /dev/port device. The /dev/port
3978c2ecf20Sopenharmony_ci	  device is similar to /dev/mem, but for I/O ports.
3988c2ecf20Sopenharmony_ci
3998c2ecf20Sopenharmony_ciconfig HPET
4008c2ecf20Sopenharmony_ci	bool "HPET - High Precision Event Timer" if (X86 || IA64)
4018c2ecf20Sopenharmony_ci	default n
4028c2ecf20Sopenharmony_ci	depends on ACPI
4038c2ecf20Sopenharmony_ci	help
4048c2ecf20Sopenharmony_ci	  If you say Y here, you will have a miscdevice named "/dev/hpet/".  Each
4058c2ecf20Sopenharmony_ci	  open selects one of the timers supported by the HPET.  The timers are
4068c2ecf20Sopenharmony_ci	  non-periodic and/or periodic.
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ciconfig HPET_MMAP
4098c2ecf20Sopenharmony_ci	bool "Allow mmap of HPET"
4108c2ecf20Sopenharmony_ci	default y
4118c2ecf20Sopenharmony_ci	depends on HPET
4128c2ecf20Sopenharmony_ci	help
4138c2ecf20Sopenharmony_ci	  If you say Y here, user applications will be able to mmap
4148c2ecf20Sopenharmony_ci	  the HPET registers.
4158c2ecf20Sopenharmony_ci
4168c2ecf20Sopenharmony_ciconfig HPET_MMAP_DEFAULT
4178c2ecf20Sopenharmony_ci	bool "Enable HPET MMAP access by default"
4188c2ecf20Sopenharmony_ci	default y
4198c2ecf20Sopenharmony_ci	depends on HPET_MMAP
4208c2ecf20Sopenharmony_ci	help
4218c2ecf20Sopenharmony_ci	  In some hardware implementations, the page containing HPET
4228c2ecf20Sopenharmony_ci	  registers may also contain other things that shouldn't be
4238c2ecf20Sopenharmony_ci	  exposed to the user.  This option selects the default (if
4248c2ecf20Sopenharmony_ci	  kernel parameter hpet_mmap is not set) user access to the
4258c2ecf20Sopenharmony_ci	  registers for applications that require it.
4268c2ecf20Sopenharmony_ci
4278c2ecf20Sopenharmony_ciconfig HANGCHECK_TIMER
4288c2ecf20Sopenharmony_ci	tristate "Hangcheck timer"
4298c2ecf20Sopenharmony_ci	depends on X86 || IA64 || PPC64 || S390
4308c2ecf20Sopenharmony_ci	help
4318c2ecf20Sopenharmony_ci	  The hangcheck-timer module detects when the system has gone
4328c2ecf20Sopenharmony_ci	  out to lunch past a certain margin.  It can reboot the system
4338c2ecf20Sopenharmony_ci	  or merely print a warning.
4348c2ecf20Sopenharmony_ci
4358c2ecf20Sopenharmony_ciconfig UV_MMTIMER
4368c2ecf20Sopenharmony_ci	tristate "UV_MMTIMER Memory mapped RTC for SGI UV"
4378c2ecf20Sopenharmony_ci	depends on X86_UV
4388c2ecf20Sopenharmony_ci	default m
4398c2ecf20Sopenharmony_ci	help
4408c2ecf20Sopenharmony_ci	  The uv_mmtimer device allows direct userspace access to the
4418c2ecf20Sopenharmony_ci	  UV system timer.
4428c2ecf20Sopenharmony_ci
4438c2ecf20Sopenharmony_cisource "drivers/char/tpm/Kconfig"
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ciconfig TELCLOCK
4468c2ecf20Sopenharmony_ci	tristate "Telecom clock driver for ATCA SBC"
4478c2ecf20Sopenharmony_ci	depends on X86
4488c2ecf20Sopenharmony_ci	default n
4498c2ecf20Sopenharmony_ci	help
4508c2ecf20Sopenharmony_ci	  The telecom clock device is specific to the MPCBL0010 and MPCBL0050
4518c2ecf20Sopenharmony_ci	  ATCA computers and allows direct userspace access to the
4528c2ecf20Sopenharmony_ci	  configuration of the telecom clock configuration settings.  This
4538c2ecf20Sopenharmony_ci	  device is used for hardware synchronization across the ATCA backplane
4548c2ecf20Sopenharmony_ci	  fabric.  Upon loading, the driver exports a sysfs directory,
4558c2ecf20Sopenharmony_ci	  /sys/devices/platform/telco_clock, with a number of files for
4568c2ecf20Sopenharmony_ci	  controlling the behavior of this hardware.
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_cisource "drivers/s390/char/Kconfig"
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_cisource "drivers/char/xillybus/Kconfig"
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ciconfig ADI
4638c2ecf20Sopenharmony_ci	tristate "SPARC Privileged ADI driver"
4648c2ecf20Sopenharmony_ci	depends on SPARC64
4658c2ecf20Sopenharmony_ci	default m
4668c2ecf20Sopenharmony_ci	help
4678c2ecf20Sopenharmony_ci	  SPARC M7 and newer processors utilize ADI (Application Data
4688c2ecf20Sopenharmony_ci	  Integrity) to version and protect memory.  This driver provides
4698c2ecf20Sopenharmony_ci	  read/write access to the ADI versions for privileged processes.
4708c2ecf20Sopenharmony_ci	  This feature is also known as MCD (Memory Corruption Detection)
4718c2ecf20Sopenharmony_ci	  and SSM (Silicon Secured Memory).  Intended consumers of this
4728c2ecf20Sopenharmony_ci	  driver include crash and makedumpfile.
4738c2ecf20Sopenharmony_ci
4748c2ecf20Sopenharmony_ciconfig RANDOM_TRUST_CPU
4758c2ecf20Sopenharmony_ci	bool "Initialize RNG using CPU RNG instructions"
4768c2ecf20Sopenharmony_ci	default y
4778c2ecf20Sopenharmony_ci	depends on ARCH_RANDOM
4788c2ecf20Sopenharmony_ci	help
4798c2ecf20Sopenharmony_ci	  Initialize the RNG using random numbers supplied by the CPU's
4808c2ecf20Sopenharmony_ci	  RNG instructions (e.g. RDRAND), if supported and available. These
4818c2ecf20Sopenharmony_ci	  random numbers are never used directly, but are rather hashed into
4828c2ecf20Sopenharmony_ci	  the main input pool, and this happens regardless of whether or not
4838c2ecf20Sopenharmony_ci	  this option is enabled. Instead, this option controls whether the
4848c2ecf20Sopenharmony_ci	  they are credited and hence can initialize the RNG. Additionally,
4858c2ecf20Sopenharmony_ci	  other sources of randomness are always used, regardless of this
4868c2ecf20Sopenharmony_ci	  setting.  Enabling this implies trusting that the CPU can supply high
4878c2ecf20Sopenharmony_ci	  quality and non-backdoored random numbers.
4888c2ecf20Sopenharmony_ci
4898c2ecf20Sopenharmony_ci	  Say Y here unless you have reason to mistrust your CPU or believe
4908c2ecf20Sopenharmony_ci	  its RNG facilities may be faulty. This may also be configured at
4918c2ecf20Sopenharmony_ci	  boot time with "random.trust_cpu=on/off".
4928c2ecf20Sopenharmony_ci
4938c2ecf20Sopenharmony_ciconfig RANDOM_TRUST_BOOTLOADER
4948c2ecf20Sopenharmony_ci	bool "Initialize RNG using bootloader-supplied seed"
4958c2ecf20Sopenharmony_ci	default y
4968c2ecf20Sopenharmony_ci	help
4978c2ecf20Sopenharmony_ci	  Initialize the RNG using a seed supplied by the bootloader or boot
4988c2ecf20Sopenharmony_ci	  environment (e.g. EFI or a bootloader-generated device tree). This
4998c2ecf20Sopenharmony_ci	  seed is not used directly, but is rather hashed into the main input
5008c2ecf20Sopenharmony_ci	  pool, and this happens regardless of whether or not this option is
5018c2ecf20Sopenharmony_ci	  enabled. Instead, this option controls whether the seed is credited
5028c2ecf20Sopenharmony_ci	  and hence can initialize the RNG. Additionally, other sources of
5038c2ecf20Sopenharmony_ci	  randomness are always used, regardless of this setting. Enabling
5048c2ecf20Sopenharmony_ci	  this implies trusting that the bootloader can supply high quality and
5058c2ecf20Sopenharmony_ci	  non-backdoored seeds.
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ci	  Say Y here unless you have reason to mistrust your bootloader or
5088c2ecf20Sopenharmony_ci	  believe its RNG facilities may be faulty. This may also be configured
5098c2ecf20Sopenharmony_ci	  at boot time with "random.trust_bootloader=on/off".
5108c2ecf20Sopenharmony_ci
5118c2ecf20Sopenharmony_ciendmenu
512