blob: 047b931591a9e1b3af5b4eff66883a5ef3eb1901 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Lars-Peter Clausen8548a632015-08-14 16:54:55 +02002#
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
Lars-Peter Clausen670b19a2015-10-13 18:10:28 +020013config IIO_BUFFER_DMA
Alexandru Ardelean3cd137f52020-09-24 14:17:56 +030014 tristate "Industrial I/O DMA buffer infrastructure"
Lars-Peter Clausen670b19a2015-10-13 18:10:28 +020015 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
Lars-Peter Clausen2d6ca602015-10-13 18:10:29 +020022config IIO_BUFFER_DMAENGINE
Alexandru Ardelean3cd137f52020-09-24 14:17:56 +030023 tristate "Industrial I/O DMA buffer integration with DMAEngine"
Lars-Peter Clausen2d6ca602015-10-13 18:10:29 +020024 select IIO_BUFFER_DMA
25 help
26 Provides a bonding of the generic IIO DMA buffer infrastructure with the
Alexandru Ardelean3cd137f52020-09-24 14:17:56 +030027 DMAEngine framework. This can be used by converter drivers with a DMA port
Lars-Peter Clausen2d6ca602015-10-13 18:10:29 +020028 connected to an external DMA controller which is supported by the
Alexandru Ardelean3cd137f52020-09-24 14:17:56 +030029 DMAEngine framework.
Lars-Peter Clausen2d6ca602015-10-13 18:10:29 +020030
31 Should be selected by drivers that want to use this functionality.
32
Lars-Peter Clausen48b66f82018-01-10 11:13:03 +010033config 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
Lars-Peter Clausen8548a632015-08-14 16:54:55 +020043config 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
Alexandru Ardeleanc8283ba2020-09-24 14:17:58 +030051 tristate "Industrial I/O triggered buffer support"
Lars-Peter Clausen8548a632015-08-14 16:54:55 +020052 select IIO_TRIGGER
53 select IIO_KFIFO_BUF
54 help
55 Provides helper functions for setting up triggered buffers.