xref: /linux/drivers/iio/buffer/Kconfig (revision 48b66f8f936f369bb1a43c12aedbfeb2975baf4c)
18548a63bSLars-Peter Clausen#
28548a63bSLars-Peter Clausen# Industrial I/O generic buffer implementations
38548a63bSLars-Peter Clausen#
48548a63bSLars-Peter Clausen# When adding new entries keep the list in alphabetical order
58548a63bSLars-Peter Clausen
68548a63bSLars-Peter Clausenconfig IIO_BUFFER_CB
78548a63bSLars-Peter Clausen	tristate "IIO callback buffer used for push in-kernel interfaces"
88548a63bSLars-Peter Clausen	help
98548a63bSLars-Peter Clausen	  Should be selected by any drivers that do in-kernel push
108548a63bSLars-Peter Clausen	  usage.  That is, those where the data is pushed to the consumer.
118548a63bSLars-Peter Clausen
12670b19aeSLars-Peter Clausenconfig IIO_BUFFER_DMA
13670b19aeSLars-Peter Clausen	tristate
14670b19aeSLars-Peter Clausen	help
15670b19aeSLars-Peter Clausen	  Provides the generic IIO DMA buffer infrastructure that can be used by
16670b19aeSLars-Peter Clausen	  drivers for devices with DMA support to implement the IIO buffer.
17670b19aeSLars-Peter Clausen
18670b19aeSLars-Peter Clausen	  Should be selected by drivers that want to use the generic DMA buffer
19670b19aeSLars-Peter Clausen	  infrastructure.
20670b19aeSLars-Peter Clausen
212d6ca60fSLars-Peter Clausenconfig IIO_BUFFER_DMAENGINE
222d6ca60fSLars-Peter Clausen	tristate
232d6ca60fSLars-Peter Clausen	select IIO_BUFFER_DMA
242d6ca60fSLars-Peter Clausen	help
252d6ca60fSLars-Peter Clausen	  Provides a bonding of the generic IIO DMA buffer infrastructure with the
262d6ca60fSLars-Peter Clausen	  DMAengine framework. This can be used by converter drivers with a DMA port
272d6ca60fSLars-Peter Clausen	  connected to an external DMA controller which is supported by the
282d6ca60fSLars-Peter Clausen	  DMAengine framework.
292d6ca60fSLars-Peter Clausen
302d6ca60fSLars-Peter Clausen	  Should be selected by drivers that want to use this functionality.
312d6ca60fSLars-Peter Clausen
32*48b66f8fSLars-Peter Clausenconfig IIO_BUFFER_HW_CONSUMER
33*48b66f8fSLars-Peter Clausen	tristate "Industrial I/O HW buffering"
34*48b66f8fSLars-Peter Clausen	help
35*48b66f8fSLars-Peter Clausen	  Provides a way to bonding when an IIO device has a direct connection
36*48b66f8fSLars-Peter Clausen	  to another device in hardware. In this case buffers for data transfers
37*48b66f8fSLars-Peter Clausen	  are handled by hardware.
38*48b66f8fSLars-Peter Clausen
39*48b66f8fSLars-Peter Clausen	  Should be selected by drivers that want to use the generic Hw consumer
40*48b66f8fSLars-Peter Clausen	  interface.
41*48b66f8fSLars-Peter Clausen
428548a63bSLars-Peter Clausenconfig IIO_KFIFO_BUF
438548a63bSLars-Peter Clausen	tristate "Industrial I/O buffering based on kfifo"
448548a63bSLars-Peter Clausen	help
458548a63bSLars-Peter Clausen	  A simple fifo based on kfifo.  Note that this currently provides
468548a63bSLars-Peter Clausen	  no buffer events so it is up to userspace to work out how
478548a63bSLars-Peter Clausen	  often to read from the buffer.
488548a63bSLars-Peter Clausen
498548a63bSLars-Peter Clausenconfig IIO_TRIGGERED_BUFFER
508548a63bSLars-Peter Clausen	tristate
518548a63bSLars-Peter Clausen	select IIO_TRIGGER
528548a63bSLars-Peter Clausen	select IIO_KFIFO_BUF
538548a63bSLars-Peter Clausen	help
548548a63bSLars-Peter Clausen	  Provides helper functions for setting up triggered buffers.
55