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