Re: [PATCH 2/2] of: base: Improve argument length mismatch error

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

 



Hi Rob,

On Tue, Dec 21, 2021 at 07:24:34AM -0400, Rob Herring wrote:
> On Tue, Dec 21, 2021 at 4:51 AM Baruch Siach <baruch@xxxxxxxxxx> wrote:
> >
> > The cells_name field of of_phandle_iterator might be NULL. Use the
> > phandle name instead. With this change we get the more helpful messages:
> >
> >   OF: /soc/pinctrl@1000000: phandle pinctrl@1000000 needs 3, found 2
> 
> How is printing the same thing twice better?

This is not the same thing. The first node is the parent node (it->parent), 
the second is the phandle target (it->node). They happen to be the same in the 
case I encountered[1]. I can generate a better example if it helps.

Printing the property name would have been even better. But 
of_phandle_iterator_init() does not preserve list_name.

[1] https://lore.kernel.org/all/8a744cfd96aff5754bfdcf7298d208ddca5b319a.1638862030.git.baruch@xxxxxxxxxx/

baruch

> > instead of:
> >
> >   OF: /soc/pinctrl@1000000: (null) = 3 found 2
> >
> > That should make DT debugging easier.
> >
> > Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
> > ---
> >  drivers/of/base.c | 11 ++++++++---
> >  1 file changed, 8 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/of/base.c b/drivers/of/base.c
> > index 64218c614a85..7c03de370913 100644
> > --- a/drivers/of/base.c
> > +++ b/drivers/of/base.c
> > @@ -1349,9 +1349,14 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it)
> >                  * property data length
> >                  */
> >                 if (it->cur + count > it->list_end) {
> > -                       pr_err("%pOF: %s = %d found %ld\n",
> > -                              it->parent, it->cells_name,
> > -                              count, it->list_end - it->cur);
> > +                       if (it->cells_name)
> > +                               pr_err("%pOF: %s = %d found %ld\n",
> > +                                       it->parent, it->cells_name,
> > +                                       count, it->list_end - it->cur);
> > +                       else
> > +                               pr_err("%pOF: phandle %s needs %d, found %ld\n",
> > +                                       it->parent, of_node_full_name(it->node),
> > +                                       count, it->list_end - it->cur);
> >                         goto err;
> >                 }
> >         }

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@xxxxxxxxxx - tel: +972.52.368.4656, http://www.tkos.co.il -



[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