Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / drivers / uio / Kconfig
blob7e8dc78a97961459e05dc3d7cfe413323f31e6de
1 menuconfig UIO
2         tristate "Userspace I/O drivers"
3         depends on MMU
4         help
5           Enable this to allow the userspace driver core code to be
6           built.  This code allows userspace programs easy access to
7           kernel interrupts and memory locations, allowing some drivers
8           to be written in userspace.  Note that a small kernel driver
9           is also required for interrupt handling to work properly.
11           If you don't know what to do here, say N.
13 if UIO
15 config UIO_CIF
16         tristate "generic Hilscher CIF Card driver"
17         depends on PCI
18         help
19           Driver for Hilscher CIF DeviceNet and Profibus cards.  This
20           driver requires a userspace component called cif that handles
21           all of the heavy lifting and can be found at:
22                 <http://www.osadl.org/projects/downloads/UIO/user/>
24           To compile this driver as a module, choose M here: the module
25           will be called uio_cif.
27 config UIO_PDRV_GENIRQ
28         tristate "Userspace I/O platform driver with generic IRQ handling"
29         help
30           Platform driver for Userspace I/O devices, including generic
31           interrupt handling code. Shared interrupts are not supported.
33           This kernel driver requires that the matching userspace driver
34           handles interrupts in a special way. Userspace is responsible
35           for acknowledging the hardware device if needed, and re-enabling
36           interrupts in the interrupt controller using the write() syscall.
38           If you don't know what to do here, say N.
40 config UIO_DMEM_GENIRQ
41         tristate "Userspace platform driver with generic irq and dynamic memory"
42         depends on HAS_DMA
43         help
44           Platform driver for Userspace I/O devices, including generic
45           interrupt handling code. Shared interrupts are not supported.
47           Memory regions can be specified with the same platform device
48           resources as the UIO_PDRV drivers, but dynamic regions can also
49           be specified.
50           The number and size of these regions is static,
51           but the memory allocation is not performed until
52           the associated device file is opened. The
53           memory is freed once the uio device is closed.
55           If you don't know what to do here, say N.
57 config UIO_AEC
58         tristate "AEC video timestamp device"
59         depends on PCI
60         help
62           UIO driver for the Adrienne Electronics Corporation PCI time
63           code device.
65           This device differs from other UIO devices since it uses I/O
66           ports instead of memory mapped I/O. In order to make it
67           possible for UIO to work with this device a utility, uioport,
68           can be used to read and write the ports:
70             git clone git://ifup.org/philips/uioport.git
72           If you compile this as a module, it will be called uio_aec.
74 config UIO_SERCOS3
75         tristate "Automata Sercos III PCI card driver"
76         depends on PCI
77         help
78           Userspace I/O interface for the Sercos III PCI card from
79           Automata GmbH. The userspace part of this driver will be
80           available for download from the Automata GmbH web site.
82           Automata GmbH:        http://www.automataweb.com
83           Sercos III interface: http://www.sercos.com
85           If you compile this as a module, it will be called uio_sercos3.
87 config UIO_PCI_GENERIC
88         tristate "Generic driver for PCI 2.3 and PCI Express cards"
89         depends on PCI
90         help
91           Generic driver that you can bind, dynamically, to any
92           PCI 2.3 compliant and PCI Express card. It is useful,
93           primarily, for virtualization scenarios.
94           If you compile this as a module, it will be called uio_pci_generic.
96 config UIO_NETX
97         tristate "Hilscher NetX Card driver"
98         depends on PCI
99         help
100           Driver for Hilscher NetX based fieldbus cards (cifX, comX).
101           This driver requires a userspace component that comes with the card
102           or is available from Hilscher (http://www.hilscher.com).
104           To compile this driver as a module, choose M here; the module
105           will be called uio_netx.
107 config UIO_FSL_ELBC_GPCM
108         tristate "eLBC/GPCM driver"
109         depends on FSL_LBC
110         help
111           Generic driver for accessing a peripheral connected to an eLBC port
112           that is running in GPCM mode. GPCM is an interface for simple lower
113           performance memories and memory-mapped devices. For devices using
114           FCM or UPM eLBC modes, other device-specific drivers are available.
116 config UIO_FSL_ELBC_GPCM_NETX5152
117         bool "eLBC/GPCM netX 51/52 support"
118         depends on UIO_FSL_ELBC_GPCM
119         help
120           This will add support for netX 51/52 devices connected via eLBC/GPCM.
121           In particular, it implements interrupt handling. This can be used
122           together with the userspace netX stack from Hilscher.
124           Information about this hardware can be found at:
125           http://www.hilscher.com/netx
127 config UIO_PRUSS
128         tristate "Texas Instruments PRUSS driver"
129         select GENERIC_ALLOCATOR
130         depends on HAS_IOMEM && HAS_DMA
131         help
132           PRUSS driver for OMAPL138/DA850/AM18XX devices
133           PRUSS driver requires user space components, examples and user space
134           driver is available from below SVN repo - you may use anonymous login
136           https://gforge.ti.com/gf/project/pru_sw/
138           More info on API is available at below wiki
140           http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
142           To compile this driver as a module, choose M here: the module
143           will be called uio_pruss.
145 config UIO_MF624
146         tristate "Humusoft MF624 DAQ PCI card driver"
147         depends on PCI
148         help
149           Userspace I/O interface for the Humusoft MF624 PCI card.
150           A sample userspace application using this driver is available
151           (among other MF624 related information and software components)
152           for download in a git repository:
154             git clone git://rtime.felk.cvut.cz/mf6xx.git
156           If you compile this as a module, it will be called uio_mf624.
158 config UIO_HV_GENERIC
159         tristate "Generic driver for Hyper-V VMBus"
160         depends on HYPERV
161         help
162           Generic driver that you can bind, dynamically, to any
163           Hyper-V VMBus device. It is useful to provide direct access
164           to network and storage devices from userspace.
166           If you compile this as a module, it will be called uio_hv_generic.
167 endif