devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org>
To: devicetree@vger.kernel.org, linux-iio@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 "Rafael J. Wysocki" <rafael@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	 Frank Rowand <frowand.list@gmail.com>,
	Jonathan Cameron <jic23@kernel.org>,
	 Lars-Peter Clausen <lars@metafoo.de>,
	 Michael Hennerich <Michael.Hennerich@analog.com>,
	 Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	 Conor Dooley <conor+dt@kernel.org>
Subject: [PATCH v2 5/8] iio: buffer-dmaengine: export buffer alloc and free functions
Date: Fri, 08 Dec 2023 16:14:12 +0100	[thread overview]
Message-ID: <20231208-dev-iio-backend-v2-5-5450951895e1@analog.com> (raw)
In-Reply-To: <20231208-dev-iio-backend-v2-0-5450951895e1@analog.com>

From: Nuno Sa <nuno.sa@analog.com>

Export iio_dmaengine_buffer_free() and iio_dmaengine_buffer_alloc().
This is in preparation of introducing IIO backends support. This will
allow us to allocate a buffer and control it's lifetime from a device
different from the one holding the DMA firmware properties. Effectively,
in this case the struct device holding the firmware information about
the DMA channels is not the same as iio_dev->dev.parent (typical case).

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
---
 drivers/iio/buffer/industrialio-buffer-dmaengine.c | 6 ++++--
 include/linux/iio/buffer-dmaengine.h               | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/buffer/industrialio-buffer-dmaengine.c b/drivers/iio/buffer/industrialio-buffer-dmaengine.c
index 5f85ba38e6f6..5bf8c5eb1853 100644
--- a/drivers/iio/buffer/industrialio-buffer-dmaengine.c
+++ b/drivers/iio/buffer/industrialio-buffer-dmaengine.c
@@ -159,7 +159,7 @@ static const struct iio_dev_attr *iio_dmaengine_buffer_attrs[] = {
  * Once done using the buffer iio_dmaengine_buffer_free() should be used to
  * release it.
  */
-static struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
+struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
 	const char *channel)
 {
 	struct dmaengine_buffer *dmaengine_buffer;
@@ -210,6 +210,7 @@ static struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
 	kfree(dmaengine_buffer);
 	return ERR_PTR(ret);
 }
+EXPORT_SYMBOL_GPL(iio_dmaengine_buffer_alloc);
 
 /**
  * iio_dmaengine_buffer_free() - Free dmaengine buffer
@@ -217,7 +218,7 @@ static struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
  *
  * Frees a buffer previously allocated with iio_dmaengine_buffer_alloc().
  */
-static void iio_dmaengine_buffer_free(struct iio_buffer *buffer)
+void iio_dmaengine_buffer_free(struct iio_buffer *buffer)
 {
 	struct dmaengine_buffer *dmaengine_buffer =
 		iio_buffer_to_dmaengine_buffer(buffer);
@@ -227,6 +228,7 @@ static void iio_dmaengine_buffer_free(struct iio_buffer *buffer)
 
 	iio_buffer_put(buffer);
 }
+EXPORT_SYMBOL_GPL(iio_dmaengine_buffer_free);
 
 static void __devm_iio_dmaengine_buffer_free(void *buffer)
 {
diff --git a/include/linux/iio/buffer-dmaengine.h b/include/linux/iio/buffer-dmaengine.h
index 5c355be89814..6c44da550b2c 100644
--- a/include/linux/iio/buffer-dmaengine.h
+++ b/include/linux/iio/buffer-dmaengine.h
@@ -10,8 +10,10 @@
 struct iio_dev;
 struct device;
 
+struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
+					      const char *channel);
+void iio_dmaengine_buffer_free(struct iio_buffer *buffer);
 int devm_iio_dmaengine_buffer_setup(struct device *dev,
 				    struct iio_dev *indio_dev,
 				    const char *channel);
-
 #endif

-- 
2.43.0


  parent reply	other threads:[~2023-12-08 15:14 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08 15:14 [PATCH v2 0/8] iio: add new backend framework Nuno Sa via B4 Relay
2023-12-08 15:14 ` [PATCH v2 1/8] dt-bindings: adc: ad9467: document io-backend property Nuno Sa via B4 Relay
2023-12-08 17:40   ` Krzysztof Kozlowski
2023-12-09 14:35     ` Nuno Sá
2023-12-08 15:14 ` [PATCH v2 2/8] dt-bindings: adc: axi-adc: deprecate 'adi,adc-dev' Nuno Sa via B4 Relay
2023-12-08 17:39   ` Krzysztof Kozlowski
2023-12-09 14:40     ` Nuno Sá
2023-12-08 15:14 ` [PATCH v2 3/8] driver: core: allow modifying device_links flags Nuno Sa via B4 Relay
2023-12-10 14:22   ` Jonathan Cameron
2023-12-08 15:14 ` [PATCH v2 4/8] of: property: add device link support for io-backends Nuno Sa via B4 Relay
2023-12-08 15:14 ` Nuno Sa via B4 Relay [this message]
2023-12-10 14:24   ` [PATCH v2 5/8] iio: buffer-dmaengine: export buffer alloc and free functions Jonathan Cameron
2023-12-11  9:36     ` Nuno Sá
2023-12-08 15:14 ` [PATCH v2 6/8] iio: add the IIO backend framework Nuno Sa via B4 Relay
2023-12-10 14:28   ` Jonathan Cameron
2023-12-08 15:14 ` [PATCH v2 7/8] iio: adc: ad9467: convert to " Nuno Sa via B4 Relay
2023-12-08 15:14 ` [PATCH v2 8/8] iio: adc: adi-axi-adc: move " Nuno Sa via B4 Relay
2023-12-08 15:30 ` [PATCH v2 0/8] iio: add new " Conor Dooley
2023-12-09 14:32   ` Nuno Sá
2023-12-10 14:04     ` Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231208-dev-iio-backend-v2-5-5450951895e1@analog.com \
    --to=devnull+nuno.sa.analog.com@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).