Re: [PATCH v3 3/9] device property: add index argument to property_read_string_array() callback

From: Clément Léger
Date: Tue Apr 05 2022 - 16:57:26 EST


Le Tue, 5 Apr 2022 15:22:51 +0200,
"Rafael J. Wysocki" <rafael@xxxxxxxxxx> a écrit :

> On Mon, Mar 28, 2022 at 4:29 PM Clément Léger <clement.leger@xxxxxxxxxxx> wrote:
> >
> > Le Fri, 25 Mar 2022 16:30:45 +0200,
> > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> a écrit :
> >
> > > > pointer = property_entry_find(props, propname, length);
> > > > if (IS_ERR(pointer))
> > > > return PTR_ERR(pointer);
> > >
> > > > + if (index >= array_len)
> > > > + return -ENODATA;
> > >
> > > I was about to ask if we can check this before the
> > > property_entry_find() call, but realized that in such case it will
> > > shadow possible errors due to wrong or absent property.
> >
> > I think you are actually right, the check can be done after
> > property_entry_count_elems_of_size() since it already checks for the
> > property to be present. I'll move that check.
> >
> > >
> > > ...
> > >
> > > > - of_property_read_string_array(node, propname, val,
> > > > nval) :
> > > > + of_property_read_string_array_index(node,
> > > > propname, val, nval,
> > > > + index) :
> > >
> > > Dunno about the style there, but I think it can be one line.
> >
> > Seems like the complete file is strictly applying the 80 columns rules
> > so I thought it was better to keep it like this. However, I think the
> > ternary oeprator is not really readable with such split.
>
> So FWIW I would entirely change it to
>
> if (!val)
> return of_property_count_strings(node, propname);
>
> return of_property_read_string_array_index(node, propname, val,
>
> nval, index);
>
> which IMO would be way easier to read.

Hi Rafael,

Agreed, this is way more readable. I'll modify that.

Thanks,

--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com