[PATCH v3 13/15] iio: adc: stm32-adc: convert to device properties

Jonathan Cameron jic23 at kernel.org
Sat Aug 6 11:53:27 PDT 2022


On Sat, 6 Aug 2022 19:15:38 +0100
Jonathan Cameron <jic23 at kernel.org> wrote:

> On Fri, 15 Jul 2022 14:29:01 +0200
> Nuno Sá <nuno.sa at analog.com> wrote:
> 
> > Make the conversion to firmware agnostic device properties. As part of
> > the conversion the IIO inkern interface 'of_xlate()' is also converted to
> > 'fwnode_xlate()'. The goal is to completely drop 'of_xlate' and hence OF
> > dependencies from IIO.
> > 
> > Signed-off-by: Nuno Sá <nuno.sa at analog.com>
> > Reviewed-by: Andy Shevchenko <andy.shevchenko at gmail.com>  
> One query below. Otherwise LGTM (not that's true of the other patches I haven't
> comment on at all)
> 
> > @@ -1885,8 +1887,12 @@ static int stm32_adc_get_legacy_chan_count(struct iio_dev *indio_dev, struct stm
> >  		num_channels += ret;
> >  	}
> >  
> > -	ret = of_property_count_elems_of_size(node, "st,adc-diff-channels",
> > -					      sizeof(struct stm32_adc_diff_channel));
> > +	/*
> > +	 * each st,adc-diff-channels is a group of 2 u32 so we divide @ret
> > +	 * to get the *real* number of channels.
> > +	 */
> > +	ret = device_property_count_u32(dev, "st,adc-diff-channels");  
> 
> I think this can return an error code which should probably be handled.
> More than possible that was true of original code though...
> 
> If it can't return an error for some reason I'm missing perhaps a
> comment to explain why.

Given this was only outstanding question I stuck a conservative

if (ret < 0)
	return ret;
here whilst applying.

> 
> > +	ret /= (int)(sizeof(struct stm32_adc_diff_channel) / sizeof(u32));
> >  	if (ret > adc_info->max_channels) {
> >  		dev_err(&indio_dev->dev, "Bad st,adc-diff-channels?\n");
> >  		return -EINVAL;  




More information about the Linux-mediatek mailing list