diff mbox series

[10/13] iio: buffer: dmaengine: export devm_iio_dmaengine_buffer_alloc()

Message ID 20240109-axi-spi-engine-series-3-v1-10-e42c6a986580@baylibre.com (mailing list archive)
State Changes Requested
Headers show
Series spi: axi-spi-engine: add offload support | expand

Commit Message

David Lechner Jan. 10, 2024, 7:49 p.m. UTC
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(-)

Comments

Jonathan Cameron Jan. 12, 2024, 12:37 p.m. UTC | #1
On Wed, 10 Jan 2024 13:49:51 -0600
David Lechner <dlechner@baylibre.com> 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@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(-)
> 
> 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);
>
David Lechner Jan. 12, 2024, 2:55 p.m. UTC | #2
On Fri, Jan 12, 2024 at 6:38 AM Jonathan Cameron
<Jonathan.Cameron@huawei.com> wrote:
>
> On Wed, 10 Jan 2024 13:49:51 -0600
> David Lechner <dlechner@baylibre.com> 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@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(-)
> >
> > 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?
>

Oops, this shouldn't be here. Looks like an artifact from a botched
rebase. The intention was to put it in alphabetical order.
diff mbox series

Patch

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.
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);