xref: /linux/drivers/iio/buffer/Kconfig (revision 4ab5a5d2a4a2289c2af07accbec7170ca5671f41)
1#
2# Industrial I/O generic buffer implementations
3#
4# When adding new entries keep the list in alphabetical order
5
6config IIO_BUFFER_CB
7	tristate "IIO callback buffer used for push in-kernel interfaces"
8	help
9	  Should be selected by any drivers that do in-kernel push
10	  usage.  That is, those where the data is pushed to the consumer.
11
12config IIO_BUFFER_DMA
13	tristate
14	help
15	  Provides the generic IIO DMA buffer infrastructure that can be used by
16	  drivers for devices with DMA support to implement the IIO buffer.
17
18	  Should be selected by drivers that want to use the generic DMA buffer
19	  infrastructure.
20
21config IIO_BUFFER_DMAENGINE
22	tristate
23	select IIO_BUFFER_DMA
24	help
25	  Provides a bonding of the generic IIO DMA buffer infrastructure with the
26	  DMAengine framework. This can be used by converter drivers with a DMA port
27	  connected to an external DMA controller which is supported by the
28	  DMAengine framework.
29
30	  Should be selected by drivers that want to use this functionality.
31
32config IIO_BUFFER_HW_CONSUMER
33	tristate "Industrial I/O HW buffering"
34	help
35	  Provides a way to bonding when an IIO device has a direct connection
36	  to another device in hardware. In this case buffers for data transfers
37	  are handled by hardware.
38
39	  Should be selected by drivers that want to use the generic Hw consumer
40	  interface.
41
42config IIO_KFIFO_BUF
43	tristate "Industrial I/O buffering based on kfifo"
44	help
45	  A simple fifo based on kfifo.  Note that this currently provides
46	  no buffer events so it is up to userspace to work out how
47	  often to read from the buffer.
48
49config IIO_TRIGGERED_BUFFER
50	tristate
51	select IIO_TRIGGER
52	select IIO_KFIFO_BUF
53	help
54	  Provides helper functions for setting up triggered buffers.
55