162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Character device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "Character devices"
762306a36Sopenharmony_ci
862306a36Sopenharmony_cisource "drivers/tty/Kconfig"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig TTY_PRINTK
1162306a36Sopenharmony_ci	tristate "TTY driver to output user messages via printk"
1262306a36Sopenharmony_ci	depends on EXPERT && TTY
1362306a36Sopenharmony_ci	default n
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  If you say Y here, the support for writing user messages (i.e.
1662306a36Sopenharmony_ci	  console messages) via printk is available.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  The feature is useful to inline user messages with kernel
1962306a36Sopenharmony_ci	  messages.
2062306a36Sopenharmony_ci	  In order to use this feature, you should output user messages
2162306a36Sopenharmony_ci	  to /dev/ttyprintk or redirect console to this TTY, or boot
2262306a36Sopenharmony_ci	  the kernel with console=ttyprintk.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	  If unsure, say N.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig TTY_PRINTK_LEVEL
2762306a36Sopenharmony_ci	depends on TTY_PRINTK
2862306a36Sopenharmony_ci	int "ttyprintk log level (1-7)"
2962306a36Sopenharmony_ci	range 1 7
3062306a36Sopenharmony_ci	default "6"
3162306a36Sopenharmony_ci	help
3262306a36Sopenharmony_ci	  Printk log level to use for ttyprintk messages.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig PRINTER
3562306a36Sopenharmony_ci	tristate "Parallel printer support"
3662306a36Sopenharmony_ci	depends on PARPORT
3762306a36Sopenharmony_ci	depends on HAS_IOPORT || PARPORT_NOT_PC
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  If you intend to attach a printer to the parallel port of your Linux
4062306a36Sopenharmony_ci	  box (as opposed to using a serial printer; if the connector at the
4162306a36Sopenharmony_ci	  printer has 9 or 25 holes ["female"], then it's serial), say Y.
4262306a36Sopenharmony_ci	  Also read the Printing-HOWTO, available from
4362306a36Sopenharmony_ci	  <https://www.tldp.org/docs.html#howto>.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  It is possible to share one parallel port among several devices
4662306a36Sopenharmony_ci	  (e.g. printer and ZIP drive) and it is safe to compile the
4762306a36Sopenharmony_ci	  corresponding drivers into the kernel.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here and read
5062306a36Sopenharmony_ci	  <file:Documentation/admin-guide/parport.rst>.  The module will be called lp.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	  If you have several parallel ports, you can specify which ports to
5362306a36Sopenharmony_ci	  use with the "lp" kernel command line option.  (Try "man bootparam"
5462306a36Sopenharmony_ci	  or see the documentation of your boot loader (lilo or loadlin) about
5562306a36Sopenharmony_ci	  how to pass options to the kernel at boot time.)  The syntax of the
5662306a36Sopenharmony_ci	  "lp" command line option can be found in <file:drivers/char/lp.c>.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	  If you have more than 8 printers, you need to increase the LP_NO
5962306a36Sopenharmony_ci	  macro in lp.c and the PARPORT_MAX macro in parport.h.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig LP_CONSOLE
6262306a36Sopenharmony_ci	bool "Support for console on line printer"
6362306a36Sopenharmony_ci	depends on PRINTER
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  If you want kernel messages to be printed out as they occur, you
6662306a36Sopenharmony_ci	  can have a console on the printer. This option adds support for
6762306a36Sopenharmony_ci	  doing that; to actually get it to happen you need to pass the
6862306a36Sopenharmony_ci	  option "console=lp0" to the kernel at boot time.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  If the printer is out of paper (or off, or unplugged, or too
7162306a36Sopenharmony_ci	  busy..) the kernel will stall until the printer is ready again.
7262306a36Sopenharmony_ci	  By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
7362306a36Sopenharmony_ci	  can make the kernel continue when this happens,
7462306a36Sopenharmony_ci	  but it'll lose the kernel messages.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	  If unsure, say N.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig PPDEV
7962306a36Sopenharmony_ci	tristate "Support for user-space parallel port device drivers"
8062306a36Sopenharmony_ci	depends on PARPORT
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  Saying Y to this adds support for /dev/parport device nodes.  This
8362306a36Sopenharmony_ci	  is needed for programs that want portable access to the parallel
8462306a36Sopenharmony_ci	  port, for instance deviceid (which displays Plug-and-Play device
8562306a36Sopenharmony_ci	  IDs).
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	  This is the parallel port equivalent of SCSI generic support (sg).
8862306a36Sopenharmony_ci	  It is safe to say N to this -- it is not needed for normal printing
8962306a36Sopenharmony_ci	  or parallel port CD-ROM/disk support.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
9262306a36Sopenharmony_ci	  module will be called ppdev.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	  If unsure, say N.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig VIRTIO_CONSOLE
9762306a36Sopenharmony_ci	tristate "Virtio console"
9862306a36Sopenharmony_ci	depends on TTY
9962306a36Sopenharmony_ci	select HVC_DRIVER
10062306a36Sopenharmony_ci	select VIRTIO
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  Virtio console for use with hypervisors.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	  Also serves as a general-purpose serial device for data
10562306a36Sopenharmony_ci	  transfer between the guest and host.  Character devices at
10662306a36Sopenharmony_ci	  /dev/vportNpn will be created when corresponding ports are
10762306a36Sopenharmony_ci	  found, where N is the device number and n is the port number
10862306a36Sopenharmony_ci	  within that device.  If specified by the host, a sysfs
10962306a36Sopenharmony_ci	  attribute called 'name' will be populated with a name for
11062306a36Sopenharmony_ci	  the port which can be used by udev scripts to create a
11162306a36Sopenharmony_ci	  symlink to the device.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ciconfig IBM_BSR
11462306a36Sopenharmony_ci	tristate "IBM POWER Barrier Synchronization Register support"
11562306a36Sopenharmony_ci	depends on PPC_PSERIES
11662306a36Sopenharmony_ci	help
11762306a36Sopenharmony_ci	  This devices exposes a hardware mechanism for fast synchronization
11862306a36Sopenharmony_ci	  of threads across a large system which avoids bouncing a cacheline
11962306a36Sopenharmony_ci	  between several cores on a system
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciconfig POWERNV_OP_PANEL
12262306a36Sopenharmony_ci	tristate "IBM POWERNV Operator Panel Display support"
12362306a36Sopenharmony_ci	depends on PPC_POWERNV
12462306a36Sopenharmony_ci	default m
12562306a36Sopenharmony_ci	help
12662306a36Sopenharmony_ci	  If you say Y here, a special character device node, /dev/op_panel,
12762306a36Sopenharmony_ci	  will be created which exposes the operator panel display on IBM
12862306a36Sopenharmony_ci	  Power Systems machines with FSPs.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci	  If you don't require access to the operator panel display from user
13162306a36Sopenharmony_ci	  space, say N.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	  If unsure, say M here to build it as a module called powernv-op-panel.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_cisource "drivers/char/ipmi/Kconfig"
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciconfig DS1620
13862306a36Sopenharmony_ci	tristate "NetWinder thermometer support"
13962306a36Sopenharmony_ci	depends on ARCH_NETWINDER
14062306a36Sopenharmony_ci	help
14162306a36Sopenharmony_ci	  Say Y here to include support for the thermal management hardware
14262306a36Sopenharmony_ci	  found in the NetWinder. This driver allows the user to control the
14362306a36Sopenharmony_ci	  temperature set points and to read the current temperature.
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci	  It is also possible to say M here to build it as a module (ds1620)
14662306a36Sopenharmony_ci	  It is recommended to be used on a NetWinder, but it is not a
14762306a36Sopenharmony_ci	  necessity.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig NWBUTTON
15062306a36Sopenharmony_ci	tristate "NetWinder Button"
15162306a36Sopenharmony_ci	depends on ARCH_NETWINDER
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  If you say Y here and create a character device node /dev/nwbutton
15462306a36Sopenharmony_ci	  with major and minor numbers 10 and 158 ("man mknod"), then every
15562306a36Sopenharmony_ci	  time the orange button is pressed a number of times, the number of
15662306a36Sopenharmony_ci	  times the button was pressed will be written to that device.
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci	  This is most useful for applications, as yet unwritten, which
15962306a36Sopenharmony_ci	  perform actions based on how many times the button is pressed in a
16062306a36Sopenharmony_ci	  row.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	  Do not hold the button down for too long, as the driver does not
16362306a36Sopenharmony_ci	  alter the behaviour of the hardware reset circuitry attached to the
16462306a36Sopenharmony_ci	  button; it will still execute a hard reset if the button is held
16562306a36Sopenharmony_ci	  down for longer than approximately five seconds.
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
16862306a36Sopenharmony_ci	  module will be called nwbutton.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci	  Most people will answer Y to this question and "Reboot Using Button"
17162306a36Sopenharmony_ci	  below to be able to initiate a system shutdown from the button.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ciconfig NWBUTTON_REBOOT
17462306a36Sopenharmony_ci	bool "Reboot Using Button"
17562306a36Sopenharmony_ci	depends on NWBUTTON
17662306a36Sopenharmony_ci	help
17762306a36Sopenharmony_ci	  If you say Y here, then you will be able to initiate a system
17862306a36Sopenharmony_ci	  shutdown and reboot by pressing the orange button a number of times.
17962306a36Sopenharmony_ci	  The number of presses to initiate the shutdown is two by default,
18062306a36Sopenharmony_ci	  but this can be altered by modifying the value of NUM_PRESSES_REBOOT
18162306a36Sopenharmony_ci	  in nwbutton.h and recompiling the driver or, if you compile the
18262306a36Sopenharmony_ci	  driver as a module, you can specify the number of presses at load
18362306a36Sopenharmony_ci	  time with "insmod button reboot_count=<something>".
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ciconfig NWFLASH
18662306a36Sopenharmony_ci	tristate "NetWinder flash support"
18762306a36Sopenharmony_ci	depends on ARCH_NETWINDER
18862306a36Sopenharmony_ci	help
18962306a36Sopenharmony_ci	  If you say Y here and create a character device /dev/flash with
19062306a36Sopenharmony_ci	  major 10 and minor 160 you can manipulate the flash ROM containing
19162306a36Sopenharmony_ci	  the NetWinder firmware. Be careful as accidentally overwriting the
19262306a36Sopenharmony_ci	  flash contents can render your computer unbootable. On no account
19362306a36Sopenharmony_ci	  allow random users access to this device. :-)
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
19662306a36Sopenharmony_ci	  module will be called nwflash.
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci	  If you're not sure, say N.
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_cisource "drivers/char/hw_random/Kconfig"
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciconfig DTLK
20362306a36Sopenharmony_ci	tristate "Double Talk PC internal speech card support"
20462306a36Sopenharmony_ci	depends on ISA
20562306a36Sopenharmony_ci	help
20662306a36Sopenharmony_ci	  This driver is for the DoubleTalk PC, a speech synthesizer
20762306a36Sopenharmony_ci	  manufactured by RC Systems (<https://www.rcsys.com/>).  It is also
20862306a36Sopenharmony_ci	  called the `internal DoubleTalk'.
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
21162306a36Sopenharmony_ci	  module will be called dtlk.
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ciconfig XILINX_HWICAP
21462306a36Sopenharmony_ci	tristate "Xilinx HWICAP Support"
21562306a36Sopenharmony_ci	depends on MICROBLAZE
21662306a36Sopenharmony_ci	help
21762306a36Sopenharmony_ci	  This option enables support for Xilinx Internal Configuration
21862306a36Sopenharmony_ci	  Access Port (ICAP) driver.  The ICAP is used on Xilinx Virtex
21962306a36Sopenharmony_ci	  FPGA platforms to partially reconfigure the FPGA at runtime.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci	  If unsure, say N.
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ciconfig APPLICOM
22462306a36Sopenharmony_ci	tristate "Applicom intelligent fieldbus card support"
22562306a36Sopenharmony_ci	depends on PCI
22662306a36Sopenharmony_ci	help
22762306a36Sopenharmony_ci	  This driver provides the kernel-side support for the intelligent
22862306a36Sopenharmony_ci	  fieldbus cards made by Applicom International. More information
22962306a36Sopenharmony_ci	  about these cards can be found on the WWW at the address
23062306a36Sopenharmony_ci	  <https://www.applicom-int.com/>, or by email from David Woodhouse
23162306a36Sopenharmony_ci	  <dwmw2@infradead.org>.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
23462306a36Sopenharmony_ci	  module will be called applicom.
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci	  If unsure, say N.
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ciconfig SONYPI
23962306a36Sopenharmony_ci	tristate "Sony Vaio Programmable I/O Control Device support"
24062306a36Sopenharmony_ci	depends on X86_32 && PCI && INPUT
24162306a36Sopenharmony_ci	help
24262306a36Sopenharmony_ci	  This driver enables access to the Sony Programmable I/O Control
24362306a36Sopenharmony_ci	  Device which can be found in many (all ?) Sony Vaio laptops.
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci	  If you have one of those laptops, read
24662306a36Sopenharmony_ci	  <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here.
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
24962306a36Sopenharmony_ci	  module will be called sonypi.
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig MWAVE
25262306a36Sopenharmony_ci	tristate "ACP Modem (Mwave) support"
25362306a36Sopenharmony_ci	depends on X86 && TTY
25462306a36Sopenharmony_ci	select SERIAL_8250
25562306a36Sopenharmony_ci	help
25662306a36Sopenharmony_ci	  The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
25762306a36Sopenharmony_ci	  kernel driver and a user level application. Together these components
25862306a36Sopenharmony_ci	  support direct attachment to public switched telephone networks (PSTNs)
25962306a36Sopenharmony_ci	  and support selected world wide countries.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci	  This version of the ACP Modem driver supports the IBM Thinkpad 600E,
26262306a36Sopenharmony_ci	  600, and 770 that include on board ACP modem hardware.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	  The modem also supports the standard communications port interface
26562306a36Sopenharmony_ci	  (ttySx) and is compatible with the Hayes AT Command Set.
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci	  The user level application needed to use this driver can be found at
26862306a36Sopenharmony_ci	  the IBM Linux Technology Center (LTC) web site:
26962306a36Sopenharmony_ci	  <http://www.ibm.com/linux/ltc/>.
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci	  If you own one of the above IBM Thinkpads which has the Mwave chipset
27262306a36Sopenharmony_ci	  in it, say Y.
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
27562306a36Sopenharmony_ci	  module will be called mwave.
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ciconfig SCx200_GPIO
27862306a36Sopenharmony_ci	tristate "NatSemi SCx200 GPIO Support"
27962306a36Sopenharmony_ci	depends on SCx200
28062306a36Sopenharmony_ci	select NSC_GPIO
28162306a36Sopenharmony_ci	help
28262306a36Sopenharmony_ci	  Give userspace access to the GPIO pins on the National
28362306a36Sopenharmony_ci	  Semiconductor SCx200 processors.
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci	  If compiled as a module, it will be called scx200_gpio.
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ciconfig PC8736x_GPIO
28862306a36Sopenharmony_ci	tristate "NatSemi PC8736x GPIO Support"
28962306a36Sopenharmony_ci	depends on X86_32 && !UML
29062306a36Sopenharmony_ci	default SCx200_GPIO	# mostly N
29162306a36Sopenharmony_ci	select NSC_GPIO		# needed for support routines
29262306a36Sopenharmony_ci	help
29362306a36Sopenharmony_ci	  Give userspace access to the GPIO pins on the National
29462306a36Sopenharmony_ci	  Semiconductor PC-8736x (x=[03456]) SuperIO chip.  The chip
29562306a36Sopenharmony_ci	  has multiple functional units, inc several managed by
29662306a36Sopenharmony_ci	  hwmon/pc87360 driver.  Tested with PC-87366
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci	  If compiled as a module, it will be called pc8736x_gpio.
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ciconfig NSC_GPIO
30162306a36Sopenharmony_ci	tristate "NatSemi Base GPIO Support"
30262306a36Sopenharmony_ci	depends on X86_32
30362306a36Sopenharmony_ci	# selected by SCx200_GPIO and PC8736x_GPIO
30462306a36Sopenharmony_ci	# what about 2 selectors differing: m != y
30562306a36Sopenharmony_ci	help
30662306a36Sopenharmony_ci	  Common support used (and needed) by scx200_gpio and
30762306a36Sopenharmony_ci	  pc8736x_gpio drivers.  If those drivers are built as
30862306a36Sopenharmony_ci	  modules, this one will be too, named nsc_gpio
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ciconfig DEVMEM
31162306a36Sopenharmony_ci	bool "/dev/mem virtual device support"
31262306a36Sopenharmony_ci	default y
31362306a36Sopenharmony_ci	help
31462306a36Sopenharmony_ci	  Say Y here if you want to support the /dev/mem device.
31562306a36Sopenharmony_ci	  The /dev/mem device is used to access areas of physical
31662306a36Sopenharmony_ci	  memory.
31762306a36Sopenharmony_ci	  When in doubt, say "Y".
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ciconfig NVRAM
32062306a36Sopenharmony_ci	tristate "/dev/nvram support"
32162306a36Sopenharmony_ci	depends on X86 || HAVE_ARCH_NVRAM_OPS
32262306a36Sopenharmony_ci	default M68K || PPC
32362306a36Sopenharmony_ci	help
32462306a36Sopenharmony_ci	  If you say Y here and create a character special file /dev/nvram
32562306a36Sopenharmony_ci	  with major number 10 and minor number 144 using mknod ("man mknod"),
32662306a36Sopenharmony_ci	  you get read and write access to the non-volatile memory.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ci	  /dev/nvram may be used to view settings in NVRAM or to change them
32962306a36Sopenharmony_ci	  (with some utility). It could also be used to frequently
33062306a36Sopenharmony_ci	  save a few bits of very important data that may not be lost over
33162306a36Sopenharmony_ci	  power-off and for which writing to disk is too insecure. Note
33262306a36Sopenharmony_ci	  however that most NVRAM space in a PC belongs to the BIOS and you
33362306a36Sopenharmony_ci	  should NEVER idly tamper with it. See Ralf Brown's interrupt list
33462306a36Sopenharmony_ci	  for a guide to the use of CMOS bytes by your BIOS.
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci	  This memory is conventionally called "NVRAM" on PowerPC machines,
33762306a36Sopenharmony_ci	  "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes.
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
34062306a36Sopenharmony_ci	  module will be called nvram.
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ciconfig DEVPORT
34362306a36Sopenharmony_ci	bool "/dev/port character device"
34462306a36Sopenharmony_ci	depends on HAS_IOPORT
34562306a36Sopenharmony_ci	default y
34662306a36Sopenharmony_ci	help
34762306a36Sopenharmony_ci	  Say Y here if you want to support the /dev/port device. The /dev/port
34862306a36Sopenharmony_ci	  device is similar to /dev/mem, but for I/O ports.
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ciconfig HPET
35162306a36Sopenharmony_ci	bool "HPET - High Precision Event Timer" if (X86 || IA64)
35262306a36Sopenharmony_ci	default n
35362306a36Sopenharmony_ci	depends on ACPI
35462306a36Sopenharmony_ci	help
35562306a36Sopenharmony_ci	  If you say Y here, you will have a miscdevice named "/dev/hpet/".  Each
35662306a36Sopenharmony_ci	  open selects one of the timers supported by the HPET.  The timers are
35762306a36Sopenharmony_ci	  non-periodic and/or periodic.
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ciconfig HPET_MMAP
36062306a36Sopenharmony_ci	bool "Allow mmap of HPET"
36162306a36Sopenharmony_ci	default y
36262306a36Sopenharmony_ci	depends on HPET
36362306a36Sopenharmony_ci	help
36462306a36Sopenharmony_ci	  If you say Y here, user applications will be able to mmap
36562306a36Sopenharmony_ci	  the HPET registers.
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ciconfig HPET_MMAP_DEFAULT
36862306a36Sopenharmony_ci	bool "Enable HPET MMAP access by default"
36962306a36Sopenharmony_ci	default y
37062306a36Sopenharmony_ci	depends on HPET_MMAP
37162306a36Sopenharmony_ci	help
37262306a36Sopenharmony_ci	  In some hardware implementations, the page containing HPET
37362306a36Sopenharmony_ci	  registers may also contain other things that shouldn't be
37462306a36Sopenharmony_ci	  exposed to the user.  This option selects the default (if
37562306a36Sopenharmony_ci	  kernel parameter hpet_mmap is not set) user access to the
37662306a36Sopenharmony_ci	  registers for applications that require it.
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ciconfig HANGCHECK_TIMER
37962306a36Sopenharmony_ci	tristate "Hangcheck timer"
38062306a36Sopenharmony_ci	depends on X86 || IA64 || PPC64 || S390
38162306a36Sopenharmony_ci	help
38262306a36Sopenharmony_ci	  The hangcheck-timer module detects when the system has gone
38362306a36Sopenharmony_ci	  out to lunch past a certain margin.  It can reboot the system
38462306a36Sopenharmony_ci	  or merely print a warning.
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ciconfig UV_MMTIMER
38762306a36Sopenharmony_ci	tristate "UV_MMTIMER Memory mapped RTC for SGI UV"
38862306a36Sopenharmony_ci	depends on X86_UV
38962306a36Sopenharmony_ci	default m
39062306a36Sopenharmony_ci	help
39162306a36Sopenharmony_ci	  The uv_mmtimer device allows direct userspace access to the
39262306a36Sopenharmony_ci	  UV system timer.
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_cisource "drivers/char/tpm/Kconfig"
39562306a36Sopenharmony_ci
39662306a36Sopenharmony_ciconfig TELCLOCK
39762306a36Sopenharmony_ci	tristate "Telecom clock driver for ATCA SBC"
39862306a36Sopenharmony_ci	depends on X86
39962306a36Sopenharmony_ci	default n
40062306a36Sopenharmony_ci	help
40162306a36Sopenharmony_ci	  The telecom clock device is specific to the MPCBL0010 and MPCBL0050
40262306a36Sopenharmony_ci	  ATCA computers and allows direct userspace access to the
40362306a36Sopenharmony_ci	  configuration of the telecom clock configuration settings.  This
40462306a36Sopenharmony_ci	  device is used for hardware synchronization across the ATCA backplane
40562306a36Sopenharmony_ci	  fabric.  Upon loading, the driver exports a sysfs directory,
40662306a36Sopenharmony_ci	  /sys/devices/platform/telco_clock, with a number of files for
40762306a36Sopenharmony_ci	  controlling the behavior of this hardware.
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_cisource "drivers/s390/char/Kconfig"
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_cisource "drivers/char/xillybus/Kconfig"
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ciconfig ADI
41462306a36Sopenharmony_ci	tristate "SPARC Privileged ADI driver"
41562306a36Sopenharmony_ci	depends on SPARC64
41662306a36Sopenharmony_ci	default m
41762306a36Sopenharmony_ci	help
41862306a36Sopenharmony_ci	  SPARC M7 and newer processors utilize ADI (Application Data
41962306a36Sopenharmony_ci	  Integrity) to version and protect memory.  This driver provides
42062306a36Sopenharmony_ci	  read/write access to the ADI versions for privileged processes.
42162306a36Sopenharmony_ci	  This feature is also known as MCD (Memory Corruption Detection)
42262306a36Sopenharmony_ci	  and SSM (Silicon Secured Memory).  Intended consumers of this
42362306a36Sopenharmony_ci	  driver include crash and makedumpfile.
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_ciendmenu
426