18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Industrial I/O generic buffer implementations 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci# When adding new entries keep the list in alphabetical order 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciconfig IIO_BUFFER_CB 88c2ecf20Sopenharmony_ci tristate "IIO callback buffer used for push in-kernel interfaces" 98c2ecf20Sopenharmony_ci help 108c2ecf20Sopenharmony_ci Should be selected by any drivers that do in-kernel push 118c2ecf20Sopenharmony_ci usage. That is, those where the data is pushed to the consumer. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciconfig IIO_BUFFER_DMA 148c2ecf20Sopenharmony_ci tristate "Industrial I/O DMA buffer infrastructure" 158c2ecf20Sopenharmony_ci help 168c2ecf20Sopenharmony_ci Provides the generic IIO DMA buffer infrastructure that can be used by 178c2ecf20Sopenharmony_ci drivers for devices with DMA support to implement the IIO buffer. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci Should be selected by drivers that want to use the generic DMA buffer 208c2ecf20Sopenharmony_ci infrastructure. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciconfig IIO_BUFFER_DMAENGINE 238c2ecf20Sopenharmony_ci tristate "Industrial I/O DMA buffer integration with DMAEngine" 248c2ecf20Sopenharmony_ci select IIO_BUFFER_DMA 258c2ecf20Sopenharmony_ci help 268c2ecf20Sopenharmony_ci Provides a bonding of the generic IIO DMA buffer infrastructure with the 278c2ecf20Sopenharmony_ci DMAEngine framework. This can be used by converter drivers with a DMA port 288c2ecf20Sopenharmony_ci connected to an external DMA controller which is supported by the 298c2ecf20Sopenharmony_ci DMAEngine framework. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci Should be selected by drivers that want to use this functionality. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciconfig IIO_BUFFER_HW_CONSUMER 348c2ecf20Sopenharmony_ci tristate "Industrial I/O HW buffering" 358c2ecf20Sopenharmony_ci help 368c2ecf20Sopenharmony_ci Provides a way to bonding when an IIO device has a direct connection 378c2ecf20Sopenharmony_ci to another device in hardware. In this case buffers for data transfers 388c2ecf20Sopenharmony_ci are handled by hardware. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci Should be selected by drivers that want to use the generic Hw consumer 418c2ecf20Sopenharmony_ci interface. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciconfig IIO_KFIFO_BUF 448c2ecf20Sopenharmony_ci tristate "Industrial I/O buffering based on kfifo" 458c2ecf20Sopenharmony_ci help 468c2ecf20Sopenharmony_ci A simple fifo based on kfifo. Note that this currently provides 478c2ecf20Sopenharmony_ci no buffer events so it is up to userspace to work out how 488c2ecf20Sopenharmony_ci often to read from the buffer. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciconfig IIO_TRIGGERED_BUFFER 518c2ecf20Sopenharmony_ci tristate "Industrial I/O triggered buffer support" 528c2ecf20Sopenharmony_ci select IIO_TRIGGER 538c2ecf20Sopenharmony_ci select IIO_KFIFO_BUF 548c2ecf20Sopenharmony_ci help 558c2ecf20Sopenharmony_ci Provides helper functions for setting up triggered buffers. 56