drivers/uio/Kconfig

Source file repositories/reference/linux-study-clean/drivers/uio/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/uio/Kconfig
Extension
[no extension]
Size
6191 bytes
Lines
180
Domain
Driver Families
Bucket
drivers/uio
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# 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:

Annotation

Implementation Notes