Re: [PATCH v3 3/3] iio: adc: qcom-pm8xxx-xoadc: add support for reading channel labels

Jonathan Cameron
2026-04-20T17:58:18Z

On Mon, 6 Apr 2026 22:46:29 +0300
Andy Shevchenko <andriy.shevchenko@intel.com> wrote:

> On Sun, Apr 05, 2026 at 04:52:21PM +0000, Antony Kurniawan Soemardi wrote:
> > Implement the .read_label callback to allow userspace to identify ADC
> > channels via the "label" property in the device tree. The name field in
> > pm8xxx_chan_info is renamed to label to better reflect its purpose. If
> > no label is provided in the device tree, it defaults to the hardware
> > datasheet name.
>
> > The change has been tested on Sony Xperia SP (PM8921).
>
> ...
>
> > +static int pm8xxx_read_label(struct iio_dev *indio_dev,
> > + struct iio_chan_spec const *chan, char *label)
> > +{
> > + struct pm8xxx_xoadc *adc = iio_priv(indio_dev);
>
> > + struct pm8xxx_chan_info *ch = pm8xxx_get_channel(adc, chan->address);
>
> When you have a validation the better style is to split definition and
> assignment. This makes code robust against (theoretically) possible changes
> that might reuse the same variable for something else.

I think you just mean

struct pm8xx_chan_info *ch;

ch = pm8xx_get_...
if (!ch)
return -EINVAL?

I suppose slightly better but it's a very small function and unlikely to have
much complexity added to it.
>
> > + if (!ch)
> > + return -EINVAL;
> > + return sysfs_emit(label, "%s\n", ch->label);
> > +}
>
> Again, no need to resend now, just make it in the next version if that version
> is asked for.
>