On Wed, 22 Jul 2026 16:50:17 +0100 Rodrigo Alencar via B4 Relay <[email protected]> wrote:
> From: Rodrigo Alencar <[email protected]> > > Add parent-child relationship between iio channels by creating a parent > pointer field in iio_chan_spec struct and exposing a sysfs attribute that > returns the parent channel prefix. > > Signed-off-by: Rodrigo Alencar <[email protected]> Hi Rodrigo. One small thing below Jonathan > --- > drivers/iio/industrialio-core.c | 40 ++++++++++++++++++++++++++++++++++++++++ > include/linux/iio/iio.h | 5 +++++ > 2 files changed, 45 insertions(+) > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > index aa9d6474edd9..f7e3048354b9 100644 > --- a/drivers/iio/industrialio-core.c > +++ b/drivers/iio/industrialio-core.c > @@ -856,6 +856,22 @@ static ssize_t iio_read_channel_label(struct device *dev, > to_iio_dev_attr(attr)->c, buf); > } > > +static ssize_t iio_read_channel_parent(struct device *dev, > + struct device_attribute *attr, > + char *buf) > +{ > + const struct iio_chan_spec *chan = to_iio_dev_attr(attr)->c->parent; > + ssize_t len; > + > + len = __iio_chan_prefix_emit(dev, chan, IIO_SEPARATE, buf, PAGE_SIZE); > + if (len < 0) > + return len; > + > + buf[len++] = '\n'; Use sysfs_emit_at() for this rather than a direct write. I'd rather not have to think about what happens if __iio_chan_prefix_emit() returns exactly PAGE_SIZE(). > + > + return len; > +} > +

