All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Ardelean <alexandru.ardelean@analog.com>
To: <linux-kernel@vger.kernel.org>, <linux-iio@vger.kernel.org>
Cc: <lars@metafoo.de>, <Michael.Hennerich@analog.com>,
	<jic23@kernel.org>, <nuno.sa@analog.com>,
	<dragos.bogdan@analog.com>, <rafael@kernel.org>,
	<gregkh@linuxfoundation.org>,
	Alexandru Ardelean <alexandru.ardelean@analog.com>
Subject: [PATCH v5 11/17] iio: buffer: move __iio_buffer_free_sysfs_and_mask() before alloc
Date: Thu, 11 Feb 2021 14:24:46 +0200	[thread overview]
Message-ID: <20210211122452.78106-12-alexandru.ardelean@analog.com> (raw)
In-Reply-To: <20210211122452.78106-1-alexandru.ardelean@analog.com>

The __iio_buffer_free_sysfs_and_mask() function will be used in
iio_buffer_alloc_sysfs_and_mask() when multiple buffers will be attached to
the IIO device.
This will need to be used to cleanup resources on each buffer, when the
buffers cleanup unwind will occur on the error path.

The move is done in this patch to make the patch that adds multiple buffers
per IIO device a bit cleaner.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---
 drivers/iio/industrialio-buffer.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index a6148ed24e41..209b3a32bdbb 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -1443,6 +1443,14 @@ static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
 	return ret;
 }
 
+static void __iio_buffer_free_sysfs_and_mask(struct iio_buffer *buffer)
+{
+	bitmap_free(buffer->scan_mask);
+	kfree(buffer->buffer_group.name);
+	kfree(buffer->buffer_group.attrs);
+	iio_free_chan_devattr_list(&buffer->buffer_attr_list);
+}
+
 int iio_buffer_alloc_sysfs_and_mask(struct iio_dev *indio_dev)
 {
 	struct iio_buffer *buffer = indio_dev->buffer;
@@ -1464,14 +1472,6 @@ int iio_buffer_alloc_sysfs_and_mask(struct iio_dev *indio_dev)
 	return __iio_buffer_alloc_sysfs_and_mask(buffer, indio_dev, 0);
 }
 
-static void __iio_buffer_free_sysfs_and_mask(struct iio_buffer *buffer)
-{
-	bitmap_free(buffer->scan_mask);
-	kfree(buffer->buffer_group.name);
-	kfree(buffer->buffer_group.attrs);
-	iio_free_chan_devattr_list(&buffer->buffer_attr_list);
-}
-
 void iio_buffer_free_sysfs_and_mask(struct iio_dev *indio_dev)
 {
 	struct iio_buffer *buffer = indio_dev->buffer;
-- 
2.17.1


  parent reply	other threads:[~2021-02-11 12:34 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-11 12:24 [PATCH v5 00/17] iio: core,buffer: add support for multiple IIO buffers per IIO device Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 01/17] docs: ioctl-number.rst: reserve IIO subsystem ioctl() space Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 02/17] iio: core: register chardev only if needed Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 03/17] iio: core-trigger: make iio_device_register_trigger_consumer() an int return Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 04/17] iio: core: rework iio device group creation Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 05/17] iio: buffer: group attr count and attr alloc Alexandru Ardelean
2021-02-14 12:57   ` Jonathan Cameron
2021-02-11 12:24 ` [PATCH v5 06/17] iio: core: merge buffer/ & scan_elements/ attributes Alexandru Ardelean
2021-02-14 13:02   ` Jonathan Cameron
2021-02-11 12:24 ` [PATCH v5 07/17] iio: add reference to iio buffer on iio_dev_attr Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 08/17] iio: buffer: wrap all buffer attributes into iio_dev_attr Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 09/17] iio: buffer: dmaengine: obtain buffer object from attribute Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 10/17] iio: core: wrap iio device & buffer into struct for character devices Alexandru Ardelean
2021-02-11 12:24 ` Alexandru Ardelean [this message]
2021-02-11 12:24 ` [PATCH v5 12/17] iio: buffer: introduce support for attaching more IIO buffers Alexandru Ardelean
2021-02-14 13:19   ` Jonathan Cameron
2021-02-14 14:02     ` Alexandru Ardelean
2021-02-14 14:37       ` Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 13/17] iio: buffer: add ioctl() to support opening extra buffers for IIO device Alexandru Ardelean
2021-02-14 14:37   ` Jonathan Cameron
2021-02-15  9:35     ` Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 14/17] iio: core: rename 'dev' -> 'indio_dev' in iio_device_alloc() Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 15/17] tools: iio: make iioutils_get_type() private in iio_utils Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 16/17] tools: iio: privatize globals and functions in iio_generic_buffer.c file Alexandru Ardelean
2021-02-11 12:24 ` [PATCH v5 17/17] tools: iio: convert iio_generic_buffer to use new IIO buffer API Alexandru Ardelean
2021-02-14 14:49   ` Jonathan Cameron

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=20210211122452.78106-12-alexandru.ardelean@analog.com \
    --to=alexandru.ardelean@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=dragos.bogdan@analog.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    --cc=rafael@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.