[10/13] iio: buffer: dmaengine: export devm_iio_dmaengine_buffer_alloc()
Commit Message
This changes devm_iio_dmaengine_buffer_alloc() to an exported symbol.
This will be used by drivers that need to allocate a DMA buffer without
attaching it to an IIO device.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
Documentation/driver-api/driver-model/devres.rst | 1 +
drivers/iio/buffer/Kconfig | 14 +++++++-------
drivers/iio/buffer/industrialio-buffer-dmaengine.c | 3 ++-
include/linux/iio/buffer-dmaengine.h | 2 ++
4 files changed, 12 insertions(+), 8 deletions(-)
@@ -285,6 +285,7 @@ I2C
IIO
devm_iio_device_alloc()
devm_iio_device_register()
+ devm_iio_dmaengine_buffer_alloc()
devm_iio_dmaengine_buffer_setup()
devm_iio_kfifo_buffer_setup()
devm_iio_kfifo_buffer_setup_ext()
@@ -40,6 +40,13 @@ config IIO_BUFFER_HW_CONSUMER
Should be selected by drivers that want to use the generic Hw consumer
interface.
+config IIO_HW_TRIGGERED_BUFFER
+ tristate "Industrial I/O hardware triggered buffer support"
+ select AUXILIARY_BUS
+ select IIO_TRIGGER
+ help
+ Provides helper functions for setting up hardware triggered buffers.
+
config IIO_KFIFO_BUF
tristate "Industrial I/O buffering based on kfifo"
help
@@ -53,10 +60,3 @@ config IIO_TRIGGERED_BUFFER
select IIO_KFIFO_BUF
help
Provides helper functions for setting up triggered buffers.
-
-config IIO_HW_TRIGGERED_BUFFER
- tristate "Industrial I/O hardware triggered buffer support"
- select AUXILIARY_BUS
- select IIO_TRIGGER
- help
- Provides helper functions for setting up hardware triggered buffers.
@@ -244,7 +244,7 @@ static void __devm_iio_dmaengine_buffer_free(void *buffer)
*
* The buffer will be automatically de-allocated once the device gets destroyed.
*/
-static struct iio_buffer *devm_iio_dmaengine_buffer_alloc(struct device *dev,
+struct iio_buffer *devm_iio_dmaengine_buffer_alloc(struct device *dev,
const char *channel)
{
struct iio_buffer *buffer;
@@ -261,6 +261,7 @@ static struct iio_buffer *devm_iio_dmaengine_buffer_alloc(struct device *dev,
return buffer;
}
+EXPORT_SYMBOL_GPL(devm_iio_dmaengine_buffer_alloc);
/**
* devm_iio_dmaengine_buffer_setup() - Setup a DMA buffer for an IIO device
@@ -10,6 +10,8 @@
struct iio_dev;
struct device;
+struct iio_buffer *devm_iio_dmaengine_buffer_alloc(struct device *dev,
+ const char *channel);
int devm_iio_dmaengine_buffer_setup(struct device *dev,
struct iio_dev *indio_dev,
const char *channel);