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