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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux