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