forked from Minki/linux
6c93c6f3ba
This driver creates per-cpu hrtimers which are required to do the periodic 'pet' operation. On a conventional watchdog-core driver, the userspace is responsible for delivering the 'pet' events by writing to the particular /dev/watchdogN node. In this case we require a strong thread affinity to be able to account for lost time on a per vCPU. This part of the driver is the 'frontend' which is reponsible for delivering the periodic 'pet' events, configuring the virtual peripheral and listening for cpu hotplug events. The other part of the driver is an emulated MMIO device which is part of the KVM virtual machine monitor and this part accounts for lost time by looking at the /proc/{}/task/{}/stat entries. Reviewed-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Will Deacon <will@kernel.org> Signed-off-by: Sebastian Ene <sebastianene@google.com> Link: https://lore.kernel.org/r/20220711081720.2870509-3-sebastianene@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
517 lines
17 KiB
Plaintext
517 lines
17 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Misc strange devices
|
|
#
|
|
|
|
menu "Misc devices"
|
|
|
|
config SENSORS_LIS3LV02D
|
|
tristate
|
|
depends on INPUT
|
|
|
|
config AD525X_DPOT
|
|
tristate "Analog Devices Digital Potentiometers"
|
|
depends on (I2C || SPI) && SYSFS
|
|
help
|
|
If you say yes here, you get support for the Analog Devices
|
|
AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255
|
|
AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203,
|
|
AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
|
|
AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
|
|
AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
|
|
AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
|
|
ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270,
|
|
AD5271, AD5272, AD5274
|
|
digital potentiometer chips.
|
|
|
|
See Documentation/misc-devices/ad525x_dpot.rst for the
|
|
userspace interface.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ad525x_dpot.
|
|
|
|
config AD525X_DPOT_I2C
|
|
tristate "support I2C bus connection"
|
|
depends on AD525X_DPOT && I2C
|
|
help
|
|
Say Y here if you have a digital potentiometers hooked to an I2C bus.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ad525x_dpot-i2c.
|
|
|
|
config AD525X_DPOT_SPI
|
|
tristate "support SPI bus connection"
|
|
depends on AD525X_DPOT && SPI_MASTER
|
|
help
|
|
Say Y here if you have a digital potentiometers hooked to an SPI bus.
|
|
|
|
If unsure, say N (but it's safe to say "Y").
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ad525x_dpot-spi.
|
|
|
|
config DUMMY_IRQ
|
|
tristate "Dummy IRQ handler"
|
|
help
|
|
This module accepts a single 'irq' parameter, which it should register for.
|
|
The sole purpose of this module is to help with debugging of systems on
|
|
which spurious IRQs would happen on disabled IRQ vector.
|
|
|
|
config IBM_ASM
|
|
tristate "Device driver for IBM RSA service processor"
|
|
depends on X86 && PCI && INPUT
|
|
depends on SERIAL_8250 || SERIAL_8250=n
|
|
help
|
|
This option enables device driver support for in-band access to the
|
|
IBM RSA (Condor) service processor in eServer xSeries systems.
|
|
The ibmasm device driver allows user space application to access
|
|
ASM (Advanced Systems Management) functions on the service
|
|
processor. The driver is meant to be used in conjunction with
|
|
a user space API.
|
|
The ibmasm driver also enables the OS to use the UART on the
|
|
service processor board as a regular serial port. To make use of
|
|
this feature serial driver support (CONFIG_SERIAL_8250) must be
|
|
enabled.
|
|
|
|
WARNING: This software may not be supported or function
|
|
correctly on your IBM server. Please consult the IBM ServerProven
|
|
website <https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/>
|
|
for information on the specific driver level and support statement
|
|
for your IBM server.
|
|
|
|
config IBMVMC
|
|
tristate "IBM Virtual Management Channel support"
|
|
depends on PPC_PSERIES
|
|
help
|
|
This is the IBM POWER Virtual Management Channel
|
|
|
|
This driver is to be used for the POWER Virtual
|
|
Management Channel virtual adapter on the PowerVM
|
|
platform. It provides both request/response and
|
|
async message support through the /dev/ibmvmc node.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ibmvmc.
|
|
|
|
config PHANTOM
|
|
tristate "Sensable PHANToM (PCI)"
|
|
depends on PCI
|
|
help
|
|
Say Y here if you want to build a driver for Sensable PHANToM device.
|
|
|
|
This driver is only for PCI PHANToMs.
|
|
|
|
If you choose to build module, its name will be phantom. If unsure,
|
|
say N here.
|
|
|
|
config TIFM_CORE
|
|
tristate "TI Flash Media interface support"
|
|
depends on PCI
|
|
help
|
|
If you want support for Texas Instruments(R) Flash Media adapters
|
|
you should select this option and then also choose an appropriate
|
|
host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter
|
|
support', if you have a TI PCI74xx compatible card reader, for
|
|
example.
|
|
You will also have to select some flash card format drivers. MMC/SD
|
|
cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
|
|
Interface support (MMC_TIFM_SD)'.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called tifm_core.
|
|
|
|
config TIFM_7XX1
|
|
tristate "TI Flash Media PCI74xx/PCI76xx host adapter support"
|
|
depends on PCI && TIFM_CORE
|
|
default TIFM_CORE
|
|
help
|
|
This option enables support for Texas Instruments(R) PCI74xx and
|
|
PCI76xx families of Flash Media adapters, found in many laptops.
|
|
To make actual use of the device, you will have to select some
|
|
flash card format drivers, as outlined in the TIFM_CORE Help.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called tifm_7xx1.
|
|
|
|
config ICS932S401
|
|
tristate "Integrated Circuits ICS932S401"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Integrated Circuits
|
|
ICS932S401 clock control chips.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ics932s401.
|
|
|
|
config ATMEL_SSC
|
|
tristate "Device driver for Atmel SSC peripheral"
|
|
depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST)
|
|
help
|
|
This option enables device driver support for Atmel Synchronized
|
|
Serial Communication peripheral (SSC).
|
|
|
|
The SSC peripheral supports a wide variety of serial frame based
|
|
communications, i.e. I2S, SPI, etc.
|
|
|
|
If unsure, say N.
|
|
|
|
config ENCLOSURE_SERVICES
|
|
tristate "Enclosure Services"
|
|
help
|
|
Provides support for intelligent enclosures (bays which
|
|
contain storage devices). You also need either a host
|
|
driver (SCSI/ATA) which supports enclosures
|
|
or a SCSI enclosure device (SES) to use these services.
|
|
|
|
config SGI_XP
|
|
tristate "Support communication between SGI SSIs"
|
|
depends on NET
|
|
depends on (IA64_SGI_UV || X86_UV) && SMP
|
|
depends on X86_64 || BROKEN
|
|
select SGI_GRU if X86_64 && SMP
|
|
help
|
|
An SGI machine can be divided into multiple Single System
|
|
Images which act independently of each other and have
|
|
hardware based memory protection from the others. Enabling
|
|
this feature will allow for direct communication between SSIs
|
|
based on a network adapter and DMA messaging.
|
|
|
|
config CS5535_MFGPT
|
|
tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support"
|
|
depends on MFD_CS5535
|
|
help
|
|
This driver provides access to MFGPT functionality for other
|
|
drivers that need timers. MFGPTs are available in the CS5535 and
|
|
CS5536 companion chips that are found in AMD Geode and several
|
|
other platforms. They have a better resolution and max interval
|
|
than the generic PIT, and are suitable for use as high-res timers.
|
|
You probably don't want to enable this manually; other drivers that
|
|
make use of it should enable it.
|
|
|
|
config CS5535_MFGPT_DEFAULT_IRQ
|
|
int
|
|
depends on CS5535_MFGPT
|
|
default 7
|
|
help
|
|
MFGPTs on the CS5535 require an interrupt. The selected IRQ
|
|
can be overridden as a module option as well as by driver that
|
|
use the cs5535_mfgpt_ API; however, different architectures might
|
|
want to use a different IRQ by default. This is here for
|
|
architectures to set as necessary.
|
|
|
|
config CS5535_CLOCK_EVENT_SRC
|
|
tristate "CS5535/CS5536 high-res timer (MFGPT) events"
|
|
depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT
|
|
help
|
|
This driver provides a clock event source based on the MFGPT
|
|
timer(s) in the CS5535 and CS5536 companion chips.
|
|
MFGPTs have a better resolution and max interval than the
|
|
generic PIT, and are suitable for use as high-res timers.
|
|
|
|
config GEHC_ACHC
|
|
tristate "GEHC ACHC support"
|
|
depends on SPI && SYSFS
|
|
depends on SOC_IMX53 || COMPILE_TEST
|
|
select FW_LOADER
|
|
help
|
|
Support for GE ACHC microcontroller, that is part of the GE
|
|
PPD device.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called gehc-achc.
|
|
|
|
config HI6421V600_IRQ
|
|
tristate "HiSilicon Hi6421v600 IRQ and powerkey"
|
|
depends on OF
|
|
depends on SPMI
|
|
depends on HAS_IOMEM
|
|
select MFD_CORE
|
|
select REGMAP_SPMI
|
|
help
|
|
This driver provides IRQ handling for Hi6421v600, used on
|
|
some Kirin chipsets, like the one at Hikey 970.
|
|
|
|
config HP_ILO
|
|
tristate "Channel interface driver for the HP iLO processor"
|
|
depends on PCI
|
|
help
|
|
The channel interface driver allows applications to communicate
|
|
with iLO management processors present on HP ProLiant servers.
|
|
Upon loading, the driver creates /dev/hpilo/dXccbN files, which
|
|
can be used to gather data from the management processor, via
|
|
read and write system calls.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called hpilo.
|
|
|
|
config QCOM_COINCELL
|
|
tristate "Qualcomm coincell charger support"
|
|
depends on MFD_SPMI_PMIC || COMPILE_TEST
|
|
help
|
|
This driver supports the coincell block found inside of
|
|
Qualcomm PMICs. The coincell charger provides a means to
|
|
charge a coincell battery or backup capacitor which is used
|
|
to maintain PMIC register and RTC state in the absence of
|
|
external power.
|
|
|
|
config QCOM_FASTRPC
|
|
tristate "Qualcomm FastRPC"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
depends on RPMSG
|
|
select DMA_SHARED_BUFFER
|
|
select QCOM_SCM
|
|
help
|
|
Provides a communication mechanism that allows for clients to
|
|
make remote method invocations across processor boundary to
|
|
applications DSP processor. Say M if you want to enable this
|
|
module.
|
|
|
|
config SGI_GRU
|
|
tristate "SGI GRU driver"
|
|
depends on X86_UV && SMP
|
|
select MMU_NOTIFIER
|
|
help
|
|
The GRU is a hardware resource located in the system chipset. The GRU
|
|
contains memory that can be mmapped into the user address space. This memory is
|
|
used to communicate with the GRU to perform functions such as load/store,
|
|
scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user
|
|
instructions using user virtual addresses. GRU instructions (ex., bcopy) use
|
|
user virtual addresses for operands.
|
|
|
|
If you are not running on a SGI UV system, say N.
|
|
|
|
config SGI_GRU_DEBUG
|
|
bool "SGI GRU driver debug"
|
|
depends on SGI_GRU
|
|
help
|
|
This option enables additional debugging code for the SGI GRU driver.
|
|
If you are unsure, say N.
|
|
|
|
config APDS9802ALS
|
|
tristate "Medfield Avago APDS9802 ALS Sensor module"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the ALS APDS9802 ambient
|
|
light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called apds9802als.
|
|
|
|
config ISL29003
|
|
tristate "Intersil ISL29003 ambient light sensor"
|
|
depends on I2C && SYSFS
|
|
help
|
|
If you say yes here you get support for the Intersil ISL29003
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isl29003.
|
|
|
|
config ISL29020
|
|
tristate "Intersil ISL29020 ambient light sensor"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for the Intersil ISL29020
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called isl29020.
|
|
|
|
config SENSORS_TSL2550
|
|
tristate "Taos TSL2550 ambient light sensor"
|
|
depends on I2C && SYSFS
|
|
help
|
|
If you say yes here you get support for the Taos TSL2550
|
|
ambient light sensor.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called tsl2550.
|
|
|
|
config SENSORS_BH1770
|
|
tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for BH1770GLC (ROHM) or
|
|
SFH7770 (Osram) combined ambient light and proximity sensor chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bh1770glc. If unsure, say N here.
|
|
|
|
config SENSORS_APDS990X
|
|
tristate "APDS990X combined als and proximity sensors"
|
|
depends on I2C
|
|
help
|
|
Say Y here if you want to build a driver for Avago APDS990x
|
|
combined ambient light and proximity sensor chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called apds990x. If unsure, say N here.
|
|
|
|
config HMC6352
|
|
tristate "Honeywell HMC6352 compass"
|
|
depends on I2C
|
|
help
|
|
This driver provides support for the Honeywell HMC6352 compass,
|
|
providing configuration and heading data via sysfs.
|
|
|
|
config DS1682
|
|
tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get support for Dallas Semiconductor
|
|
DS1682 Total Elapsed Time Recorder.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called ds1682.
|
|
|
|
config VMWARE_BALLOON
|
|
tristate "VMware Balloon Driver"
|
|
depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST
|
|
select MEMORY_BALLOON
|
|
help
|
|
This is VMware physical memory management driver which acts
|
|
like a "balloon" that can be inflated to reclaim physical pages
|
|
by reserving them in the guest and invalidating them in the
|
|
monitor, freeing up the underlying machine pages so they can
|
|
be allocated to other guests. The balloon can also be deflated
|
|
to allow the guest to use more physical memory.
|
|
|
|
If unsure, say N.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called vmw_balloon.
|
|
|
|
config PCH_PHUB
|
|
tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB"
|
|
select GENERIC_NET_UTILS
|
|
depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
|
|
help
|
|
This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of
|
|
Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded
|
|
processor. The Topcliff has MAC address and Option ROM data in SROM.
|
|
This driver can access MAC address and Option ROM data in SROM.
|
|
|
|
This driver also can be used for LAPIS Semiconductor's IOH,
|
|
ML7213/ML7223/ML7831.
|
|
ML7213 which is for IVI(In-Vehicle Infotainment) use.
|
|
ML7223 IOH is for MP(Media Phone) use.
|
|
ML7831 IOH is for general purpose use.
|
|
ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
|
|
ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called pch_phub.
|
|
|
|
config LATTICE_ECP3_CONFIG
|
|
tristate "Lattice ECP3 FPGA bitstream configuration via SPI"
|
|
depends on SPI && SYSFS
|
|
select FW_LOADER
|
|
default n
|
|
help
|
|
This option enables support for bitstream configuration (programming
|
|
or loading) of the Lattice ECP3 FPGA family via SPI.
|
|
|
|
If unsure, say N.
|
|
|
|
config SRAM
|
|
bool "Generic on-chip SRAM driver"
|
|
depends on HAS_IOMEM
|
|
select GENERIC_ALLOCATOR
|
|
select SRAM_EXEC if ARM
|
|
help
|
|
This driver allows you to declare a memory region to be managed by
|
|
the genalloc API. It is supposed to be used for small on-chip SRAM
|
|
areas found on many SoCs.
|
|
|
|
config SRAM_EXEC
|
|
bool
|
|
|
|
config DW_XDATA_PCIE
|
|
depends on PCI
|
|
tristate "Synopsys DesignWare xData PCIe driver"
|
|
help
|
|
This driver allows controlling Synopsys DesignWare PCIe traffic
|
|
generator IP also known as xData, present in Synopsys DesignWare
|
|
PCIe Endpoint prototype.
|
|
|
|
If unsure, say N.
|
|
|
|
config PCI_ENDPOINT_TEST
|
|
depends on PCI
|
|
select CRC32
|
|
tristate "PCI Endpoint Test driver"
|
|
help
|
|
Enable this configuration option to enable the host side test driver
|
|
for PCI Endpoint.
|
|
|
|
config XILINX_SDFEC
|
|
tristate "Xilinx SDFEC 16"
|
|
depends on HAS_IOMEM
|
|
help
|
|
This option enables support for the Xilinx SDFEC (Soft Decision
|
|
Forward Error Correction) driver. This enables a char driver
|
|
for the SDFEC.
|
|
|
|
You may select this driver if your design instantiates the
|
|
SDFEC(16nm) hardened block. To compile this as a module choose M.
|
|
|
|
If unsure, say N.
|
|
|
|
config MISC_RTSX
|
|
tristate
|
|
default MISC_RTSX_PCI || MISC_RTSX_USB
|
|
|
|
config HISI_HIKEY_USB
|
|
tristate "USB GPIO Hub on HiSilicon Hikey 960/970 Platform"
|
|
depends on (OF && GPIOLIB) || COMPILE_TEST
|
|
depends on USB_ROLE_SWITCH
|
|
help
|
|
If you say yes here this adds support for the on-board USB GPIO hub
|
|
found on HiKey 960/970 boards, which is necessary to support
|
|
switching between the dual-role USB-C port and the USB-A host ports
|
|
using only one USB controller.
|
|
|
|
config OPEN_DICE
|
|
tristate "Open Profile for DICE driver"
|
|
depends on OF_RESERVED_MEM
|
|
help
|
|
This driver exposes a DICE reserved memory region to userspace via
|
|
a character device. The memory region contains Compound Device
|
|
Identifiers (CDIs) generated by firmware as an output of DICE
|
|
measured boot flow. Userspace can use CDIs for remote attestation
|
|
and sealing.
|
|
|
|
If unsure, say N.
|
|
|
|
config VCPU_STALL_DETECTOR
|
|
tristate "Guest vCPU stall detector"
|
|
depends on OF && HAS_IOMEM
|
|
help
|
|
When this driver is bound inside a KVM guest, it will
|
|
periodically "pet" an MMIO stall detector device from each vCPU
|
|
and allow the host to detect vCPU stalls.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called vcpu_stall_detector.
|
|
|
|
If you do not intend to run this kernel as a guest, say N.
|
|
|
|
source "drivers/misc/c2port/Kconfig"
|
|
source "drivers/misc/eeprom/Kconfig"
|
|
source "drivers/misc/cb710/Kconfig"
|
|
source "drivers/misc/ti-st/Kconfig"
|
|
source "drivers/misc/lis3lv02d/Kconfig"
|
|
source "drivers/misc/altera-stapl/Kconfig"
|
|
source "drivers/misc/mei/Kconfig"
|
|
source "drivers/misc/vmw_vmci/Kconfig"
|
|
source "drivers/misc/genwqe/Kconfig"
|
|
source "drivers/misc/echo/Kconfig"
|
|
source "drivers/misc/cxl/Kconfig"
|
|
source "drivers/misc/ocxl/Kconfig"
|
|
source "drivers/misc/bcm-vk/Kconfig"
|
|
source "drivers/misc/cardreader/Kconfig"
|
|
source "drivers/misc/habanalabs/Kconfig"
|
|
source "drivers/misc/uacce/Kconfig"
|
|
source "drivers/misc/pvpanic/Kconfig"
|
|
endmenu
|