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