From: Jonathan Cameron <jic23@kernel.org>
To: Antoniu Miclaus <antoniu.miclaus@analog.com>
Cc: "Lars-Peter Clausen" <lars@metafoo.de>,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Olivier Moysan" <olivier.moysan@foss.st.com>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 2/4] iio: backend: add devm_iio_backend_get_by_index()
Date: Sat, 7 Mar 2026 11:55:07 +0000 [thread overview]
Message-ID: <20260307115507.252f4793@jic23-huawei> (raw)
In-Reply-To: <20260305113756.47243-3-antoniu.miclaus@analog.com>
On Thu, 5 Mar 2026 13:37:28 +0200
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> Add a new function to get an IIO backend by its index in the
> io-backends device tree property. This is useful for multi-channel
> devices that have multiple backends, where looking up by index is
> more straightforward than using named backends.
>
> Extract __devm_iio_backend_fwnode_get_by_index() from the existing
> __devm_iio_backend_fwnode_get(), taking the index directly as a
> parameter. The new public API devm_iio_backend_get_by_index() uses
> the index to find the backend reference in the io-backends property,
> avoiding the need for io-backend-names.
>
> Reviewed-by: Nuno Sá <nuno.sa@analog.com>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
One comment on unwanted code movement. Putting the lines highlighted
back where they were will also make the break up into the previous patch
and this one more sensible wrt to the diff.
Thanks,
Jonathan
> ---
> Changes in v5:
> - Split __free(fwnode_handle) cleanup into a separate patch
> - Fix "Get's" -> "Gets" typo in kernel-doc
>
> drivers/iio/industrialio-backend.c | 60 +++++++++++++++++++++---------
> include/linux/iio/backend.h | 2 +
> 2 files changed, 45 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/iio/industrialio-backend.c b/drivers/iio/industrialio-backend.c
> index 58f7e1426095..ab56e964bce4 100644
> --- a/drivers/iio/industrialio-backend.c
> +++ b/drivers/iio/industrialio-backend.c
> @@ -949,25 +949,16 @@ int iio_backend_data_transfer_addr(struct iio_backend *back, u32 address)
> }
> EXPORT_SYMBOL_NS_GPL(iio_backend_data_transfer_addr, "IIO_BACKEND");
>
> -static struct iio_backend *__devm_iio_backend_fwnode_get(struct device *dev, const char *name,
> - struct fwnode_handle *fwnode)
> +static struct iio_backend *
> +__devm_iio_backend_fwnode_get_by_index(struct device *dev,
> + struct fwnode_handle *fwnode,
> + unsigned int index)
> {
> + struct fwnode_handle *fwnode_back __free(fwnode_handle) =
> + fwnode_find_reference(fwnode, "io-backends", index);
Keep this where it was. So just above the check on whether it succeeded.
Absolutely fine to have uses of __free() declared inline with the code.
> struct iio_backend *back;
> - unsigned int index;
> int ret;
>
> - if (name) {
> - ret = device_property_match_string(dev, "io-backend-names",
> - name);
> - if (ret < 0)
> - return ERR_PTR(ret);
> - index = ret;
> - } else {
> - index = 0;
> - }
> -
> - struct fwnode_handle *fwnode_back __free(fwnode_handle) =
> - fwnode_find_reference(fwnode, "io-backends", index);
> if (IS_ERR(fwnode_back))
> return dev_err_cast_probe(dev, fwnode_back,
> "Cannot get Firmware reference\n");
> @@ -981,8 +972,7 @@ static struct iio_backend *__devm_iio_backend_fwnode_get(struct device *dev, con
> if (ret)
> return ERR_PTR(ret);
>
> - if (name)
> - back->idx = index;
> + back->idx = index;
>
> return back;
next prev parent reply other threads:[~2026-03-07 11:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-05 11:37 [PATCH v5 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-05 11:37 ` [PATCH v5 1/4] iio: backend: use __free(fwnode_handle) for automatic cleanup Antoniu Miclaus
2026-03-05 11:37 ` [PATCH v5 2/4] iio: backend: add devm_iio_backend_get_by_index() Antoniu Miclaus
2026-03-07 11:55 ` Jonathan Cameron [this message]
2026-03-07 18:17 ` David Lechner
2026-03-05 11:37 ` [PATCH v5 3/4] dt-bindings: iio: adc: ad4080: add AD4880 support Antoniu Miclaus
2026-03-07 18:19 ` David Lechner
2026-03-12 14:53 ` Rob Herring (Arm)
2026-03-05 11:37 ` [PATCH v5 4/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-07 11:58 ` Jonathan Cameron
2026-03-07 17:11 ` kernel test robot
2026-03-07 18:14 ` David Lechner
2026-03-08 0:19 ` kernel test robot
2026-03-14 11:36 ` [PATCH v5 0/4] " 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=20260307115507.252f4793@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=antoniu.miclaus@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
--cc=robh@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