1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 28548a63bSLars-Peter Clausen# 38548a63bSLars-Peter Clausen# Industrial I/O generic buffer implementations 48548a63bSLars-Peter Clausen# 58548a63bSLars-Peter Clausen# When adding new entries keep the list in alphabetical order 68548a63bSLars-Peter Clausen 78548a63bSLars-Peter Clausenconfig IIO_BUFFER_CB 88548a63bSLars-Peter Clausen tristate "IIO callback buffer used for push in-kernel interfaces" 98548a63bSLars-Peter Clausen help 108548a63bSLars-Peter Clausen Should be selected by any drivers that do in-kernel push 118548a63bSLars-Peter Clausen usage. That is, those where the data is pushed to the consumer. 128548a63bSLars-Peter Clausen 13670b19aeSLars-Peter Clausenconfig IIO_BUFFER_DMA 143cd137f5SAlexandru Ardelean tristate "Industrial I/O DMA buffer infrastructure" 15670b19aeSLars-Peter Clausen help 16670b19aeSLars-Peter Clausen Provides the generic IIO DMA buffer infrastructure that can be used by 17670b19aeSLars-Peter Clausen drivers for devices with DMA support to implement the IIO buffer. 18670b19aeSLars-Peter Clausen 19670b19aeSLars-Peter Clausen Should be selected by drivers that want to use the generic DMA buffer 20670b19aeSLars-Peter Clausen infrastructure. 21670b19aeSLars-Peter Clausen 222d6ca60fSLars-Peter Clausenconfig IIO_BUFFER_DMAENGINE 233cd137f5SAlexandru Ardelean tristate "Industrial I/O DMA buffer integration with DMAEngine" 242d6ca60fSLars-Peter Clausen select IIO_BUFFER_DMA 252d6ca60fSLars-Peter Clausen help 262d6ca60fSLars-Peter Clausen Provides a bonding of the generic IIO DMA buffer infrastructure with the 273cd137f5SAlexandru Ardelean DMAEngine framework. This can be used by converter drivers with a DMA port 282d6ca60fSLars-Peter Clausen connected to an external DMA controller which is supported by the 293cd137f5SAlexandru Ardelean DMAEngine framework. 302d6ca60fSLars-Peter Clausen 312d6ca60fSLars-Peter Clausen Should be selected by drivers that want to use this functionality. 322d6ca60fSLars-Peter Clausen 3348b66f8fSLars-Peter Clausenconfig IIO_BUFFER_HW_CONSUMER 3448b66f8fSLars-Peter Clausen tristate "Industrial I/O HW buffering" 3548b66f8fSLars-Peter Clausen help 3648b66f8fSLars-Peter Clausen Provides a way to bonding when an IIO device has a direct connection 3748b66f8fSLars-Peter Clausen to another device in hardware. In this case buffers for data transfers 3848b66f8fSLars-Peter Clausen are handled by hardware. 3948b66f8fSLars-Peter Clausen 4048b66f8fSLars-Peter Clausen Should be selected by drivers that want to use the generic Hw consumer 4148b66f8fSLars-Peter Clausen interface. 4248b66f8fSLars-Peter Clausen 438548a63bSLars-Peter Clausenconfig IIO_KFIFO_BUF 448548a63bSLars-Peter Clausen tristate "Industrial I/O buffering based on kfifo" 458548a63bSLars-Peter Clausen help 468548a63bSLars-Peter Clausen A simple fifo based on kfifo. Note that this currently provides 478548a63bSLars-Peter Clausen no buffer events so it is up to userspace to work out how 488548a63bSLars-Peter Clausen often to read from the buffer. 498548a63bSLars-Peter Clausen 508548a63bSLars-Peter Clausenconfig IIO_TRIGGERED_BUFFER 51*c8283ba8SAlexandru Ardelean tristate "Industrial I/O triggered buffer support" 528548a63bSLars-Peter Clausen select IIO_TRIGGER 538548a63bSLars-Peter Clausen select IIO_KFIFO_BUF 548548a63bSLars-Peter Clausen help 558548a63bSLars-Peter Clausen Provides helper functions for setting up triggered buffers. 56