mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-17 11:21:05 -05:00
At present VMBus driver is hinged off of CONFIG_HYPERV which entails lot of builtin code and encompasses too much. It's not always clear what depends on builtin hv code and what depends on VMBus. Setting CONFIG_HYPERV as a module and fudging the Makefile to switch to builtin adds even more confusion. VMBus is an independent module and should have its own config option. Also, there are scenarios like baremetal dom0/root where support is built in with CONFIG_HYPERV but without VMBus. Lastly, there are more features coming down that use CONFIG_HYPERV and add more dependencies on it. So, create a fine grained HYPERV_VMBUS option and update Kconfigs for dependency on VMBus. Signed-off-by: Mukesh Rathor <mrathor@linux.microsoft.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> # drivers/pci Signed-off-by: Wei Liu <wei.liu@kernel.org>
168 lines
5.6 KiB
Plaintext
168 lines
5.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig UIO
|
|
tristate "Userspace I/O drivers"
|
|
depends on MMU
|
|
help
|
|
Enable this to allow the userspace driver core code to be
|
|
built. This code allows userspace programs easy access to
|
|
kernel interrupts and memory locations, allowing some drivers
|
|
to be written in userspace. Note that a small kernel driver
|
|
is also required for interrupt handling to work properly.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
if UIO
|
|
|
|
config UIO_CIF
|
|
tristate "generic Hilscher CIF Card driver"
|
|
depends on PCI
|
|
help
|
|
Driver for Hilscher CIF DeviceNet and Profibus cards. This
|
|
driver requires a userspace component called cif that handles
|
|
all of the heavy lifting and can be found at:
|
|
<http://www.osadl.org/projects/downloads/UIO/user/>
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called uio_cif.
|
|
|
|
config UIO_PDRV_GENIRQ
|
|
tristate "Userspace I/O platform driver with generic IRQ handling"
|
|
help
|
|
Platform driver for Userspace I/O devices, including generic
|
|
interrupt handling code. Shared interrupts are not supported.
|
|
|
|
This kernel driver requires that the matching userspace driver
|
|
handles interrupts in a special way. Userspace is responsible
|
|
for acknowledging the hardware device if needed, and re-enabling
|
|
interrupts in the interrupt controller using the write() syscall.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config UIO_DMEM_GENIRQ
|
|
tristate "Userspace platform driver with generic irq and dynamic memory"
|
|
depends on HAS_DMA
|
|
help
|
|
Platform driver for Userspace I/O devices, including generic
|
|
interrupt handling code. Shared interrupts are not supported.
|
|
|
|
Memory regions can be specified with the same platform device
|
|
resources as the UIO_PDRV drivers, but dynamic regions can also
|
|
be specified.
|
|
The number and size of these regions is static,
|
|
but the memory allocation is not performed until
|
|
the associated device file is opened. The
|
|
memory is freed once the uio device is closed.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config UIO_AEC
|
|
tristate "AEC video timestamp device"
|
|
depends on PCI
|
|
help
|
|
|
|
UIO driver for the Adrienne Electronics Corporation PCI time
|
|
code device.
|
|
|
|
This device differs from other UIO devices since it uses I/O
|
|
ports instead of memory mapped I/O. In order to make it
|
|
possible for UIO to work with this device a utility, uioport,
|
|
can be used to read and write the ports:
|
|
|
|
git clone git://ifup.org/philips/uioport.git
|
|
|
|
If you compile this as a module, it will be called uio_aec.
|
|
|
|
config UIO_SERCOS3
|
|
tristate "Automata Sercos III PCI card driver"
|
|
depends on PCI
|
|
help
|
|
Userspace I/O interface for the Sercos III PCI card from
|
|
Automata GmbH. The userspace part of this driver will be
|
|
available for download from the Automata GmbH web site.
|
|
|
|
Automata GmbH: http://www.automataweb.com
|
|
Sercos III interface: http://www.sercos.com
|
|
|
|
If you compile this as a module, it will be called uio_sercos3.
|
|
|
|
config UIO_PCI_GENERIC
|
|
tristate "Generic driver for PCI 2.3 and PCI Express cards"
|
|
depends on PCI
|
|
help
|
|
Generic driver that you can bind, dynamically, to any
|
|
PCI 2.3 compliant and PCI Express card. It is useful,
|
|
primarily, for virtualization scenarios.
|
|
If you compile this as a module, it will be called uio_pci_generic.
|
|
|
|
config UIO_NETX
|
|
tristate "Hilscher NetX Card driver"
|
|
depends on PCI
|
|
help
|
|
Driver for Hilscher NetX based fieldbus cards (cifX, comX).
|
|
This driver requires a userspace component that comes with the card
|
|
or is available from Hilscher (http://www.hilscher.com).
|
|
|
|
To compile this driver as a module, choose M here; the module
|
|
will be called uio_netx.
|
|
|
|
config UIO_FSL_ELBC_GPCM
|
|
tristate "eLBC/GPCM driver"
|
|
depends on FSL_LBC
|
|
help
|
|
Generic driver for accessing a peripheral connected to an eLBC port
|
|
that is running in GPCM mode. GPCM is an interface for simple lower
|
|
performance memories and memory-mapped devices. For devices using
|
|
FCM or UPM eLBC modes, other device-specific drivers are available.
|
|
|
|
config UIO_FSL_ELBC_GPCM_NETX5152
|
|
bool "eLBC/GPCM netX 51/52 support"
|
|
depends on UIO_FSL_ELBC_GPCM
|
|
help
|
|
This will add support for netX 51/52 devices connected via eLBC/GPCM.
|
|
In particular, it implements interrupt handling. This can be used
|
|
together with the userspace netX stack from Hilscher.
|
|
|
|
Information about this hardware can be found at:
|
|
http://www.hilscher.com/netx
|
|
|
|
config UIO_MF624
|
|
tristate "Humusoft MF624 DAQ PCI card driver"
|
|
depends on PCI
|
|
help
|
|
Userspace I/O interface for the Humusoft MF624 PCI card.
|
|
A sample userspace application using this driver is available
|
|
(among other MF624 related information and software components)
|
|
for download in a git repository:
|
|
|
|
git clone git://rtime.felk.cvut.cz/mf6xx.git
|
|
|
|
If you compile this as a module, it will be called uio_mf624.
|
|
|
|
config UIO_HV_GENERIC
|
|
tristate "Generic driver for Hyper-V VMBus"
|
|
depends on HYPERV_VMBUS
|
|
help
|
|
Generic driver that you can bind, dynamically, to any
|
|
Hyper-V VMBus device. It is useful to provide direct access
|
|
to network and storage devices from userspace.
|
|
|
|
If you compile this as a module, it will be called uio_hv_generic.
|
|
|
|
config UIO_DFL
|
|
tristate "Generic driver for DFL (Device Feature List) bus"
|
|
depends on FPGA_DFL
|
|
help
|
|
Generic DFL (Device Feature List) driver for Userspace I/O devices.
|
|
It is useful to provide direct access to DFL devices from userspace.
|
|
A sample userspace application using this driver is available for
|
|
download in a git repository:
|
|
|
|
git clone https://github.com/OPAE/opae-sdk.git
|
|
|
|
It could be found at:
|
|
|
|
opae-sdk/tools/libopaeuio/
|
|
|
|
If you compile this as a module, it will be called uio_dfl.
|
|
endif
|