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.
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);
--
2.43.0
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);
>
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.
© 2016 - 2025 Red Hat, Inc.