Message ID | 20240109-axi-spi-engine-series-3-v1-10-e42c6a986580@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spi: axi-spi-engine: add offload support | expand |
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.
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);
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(-)