From: sashiko-bot@kernel.org
To: "Rodrigo Alencar via B4 Relay"
<devnull+rodrigo.alencar.analog.com@kernel.org>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v5 03/13] iio: core: add hierarchical channel relationships
Date: Sun, 17 May 2026 18:56:17 +0000 [thread overview]
Message-ID: <20260517185618.4810EC2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <20260517-ad9910-iio-driver-v5-3-31599c88314a@analog.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Exposing the hierarchical relationship via channel labels creates an ambiguous UAPI for userspace.
--
commit 64c6f961f1d7645c58f732e4bd4c11200b999e93
Author: Rodrigo Alencar <rodrigo.alencar@analog.com>
iio: core: add hierarchical channel relationships
This commit introduces a parent-child relationship between IIO channels.
It adds a parent pointer to the iio_chan_spec struct and exposes this
relationship to userspace through a new "parent" sysfs attribute that
returns the parent channel's label.
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index 5c8404efd0a56..348ac7a597385 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
[ ... ]
> @@ -1263,6 +1271,31 @@ static int iio_device_add_channel_label(struct iio_dev *indio_dev,
> return 1;
> }
>
> +static int iio_device_add_channel_parent(struct iio_dev *indio_dev,
> + struct iio_chan_spec const *chan)
> +{
> + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
> + int ret;
> +
> + if (!chan->parent || (!indio_dev->info->read_label &&
> + !chan->parent->extend_name))
> + return 0;
Is relying on channel labels robust enough for programmatic parent resolution?
IIO channel labels are optional, human-readable descriptors and are not
guaranteed by the core to be unique. If multiple channels within a device
share the same label, how can userspace definitively resolve which specific
channel is the parent?
Also, if a driver establishes a hierarchy where chan->parent is set, but the
parent channel lacks a label, this attribute is silently omitted, hiding the
relationship entirely.
Would it be more reliable to expose a definitive, unique identifier (such as
the parent channel's sysfs prefix or index) rather than relying on an optional
descriptive string?
> +
> + ret = __iio_add_chan_devattr("parent",
> + chan,
> + &iio_read_channel_parent,
> + NULL,
> + 0,
> + IIO_SEPARATE,
> + &indio_dev->dev,
> + NULL,
> + &iio_dev_opaque->channel_attr_list);
> + if (ret < 0)
> + return ret;
> +
> + return 1;
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260517-ad9910-iio-driver-v5-0-31599c88314a@analog.com?part=3
next prev parent reply other threads:[~2026-05-17 18:56 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-17 18:37 [PATCH v5 00/13] AD9910 Direct Digital Synthesizer Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 01/13] iio: core: validate file offset in iio_debugfs_write_reg() Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 19:04 ` sashiko-bot
2026-05-18 10:43 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 02/13] iio: core: support 64-bit register through debugfs Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:56 ` sashiko-bot
2026-05-18 13:56 ` Rodrigo Alencar
2026-05-20 11:31 ` Jonathan Cameron
2026-05-17 18:37 ` [PATCH v5 03/13] iio: core: add hierarchical channel relationships Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:56 ` sashiko-bot [this message]
2026-05-18 14:26 ` Rodrigo Alencar
2026-05-21 13:48 ` Rodrigo Alencar
2026-05-22 17:45 ` Jonathan Cameron
2026-05-17 18:37 ` [PATCH v5 04/13] Documentation: ABI: testing: add parent entry for iio channels Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:45 ` sashiko-bot
2026-05-22 17:47 ` Jonathan Cameron
2026-05-17 18:37 ` [PATCH v5 05/13] dt-bindings: iio: frequency: add ad9910 Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:44 ` sashiko-bot
2026-05-18 7:52 ` Krzysztof Kozlowski
2026-05-18 10:03 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 06/13] iio: frequency: ad9910: initial driver implementation Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 19:20 ` sashiko-bot
2026-05-18 11:45 ` Rodrigo Alencar
2026-05-22 18:03 ` Jonathan Cameron
2026-05-17 18:37 ` [PATCH v5 07/13] iio: frequency: ad9910: add basic parallel port support Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 08/13] iio: frequency: ad9910: add digital ramp generator support Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 09/13] iio: frequency: ad9910: add RAM mode support Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 19:19 ` sashiko-bot
2026-05-18 13:50 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 10/13] iio: frequency: ad9910: add output shift keying support Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 11/13] iio: frequency: ad9910: show channel priority in debugfs Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-22 18:07 ` Jonathan Cameron
2026-05-26 15:21 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 12/13] Documentation: ABI: testing: add docs for ad9910 sysfs entries Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 19:00 ` sashiko-bot
2026-05-20 18:47 ` Rodrigo Alencar
2026-05-22 18:20 ` Jonathan Cameron
2026-05-26 17:08 ` Rodrigo Alencar
2026-05-26 10:07 ` Rodrigo Alencar
2026-05-17 18:37 ` [PATCH v5 13/13] docs: iio: add documentation for ad9910 driver Rodrigo Alencar via B4 Relay
2026-05-17 18:37 ` Rodrigo Alencar
2026-05-17 19:00 ` sashiko-bot
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=20260517185618.4810EC2BCB0@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=devnull+rodrigo.alencar.analog.com@kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.