On Wed, 10 Jan 2024 13:49:51 -0600 David Lechner <dlechner@xxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxx> > --- > 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(-) > > diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst > index b23d4a2b68a6..60e4b7ba38e5 100644 > --- a/Documentation/driver-api/driver-model/devres.rst > +++ b/Documentation/driver-api/driver-model/devres.rst > @@ -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() > diff --git a/drivers/iio/buffer/Kconfig b/drivers/iio/buffer/Kconfig > index 925c5bf074bc..27d82fb4bc4d 100644 > --- a/drivers/iio/buffer/Kconfig > +++ b/drivers/iio/buffer/Kconfig > @@ -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. Why move this? > diff --git a/drivers/iio/buffer/industrialio-buffer-dmaengine.c b/drivers/iio/buffer/industrialio-buffer-dmaengine.c > index c67ddf963bfb..03225939f223 100644 > --- a/drivers/iio/buffer/industrialio-buffer-dmaengine.c > +++ b/drivers/iio/buffer/industrialio-buffer-dmaengine.c > @@ -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 > diff --git a/include/linux/iio/buffer-dmaengine.h b/include/linux/iio/buffer-dmaengine.h > index 5c355be89814..3ac616ddf5b9 100644 > --- a/include/linux/iio/buffer-dmaengine.h > +++ b/include/linux/iio/buffer-dmaengine.h > @@ -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); >