[PATCH 6/6] net: octeontx: smi: fix mii probe

Tim Harvey tharvey at gateworks.com
Fri Mar 26 16:55:27 CET 2021


On Thu, Mar 25, 2021 at 11:48 PM Stefan Roese <sr at denx.de> wrote:
>
> On 26.03.21 01:07, Tim Harvey wrote:
> > The fdt node offset is apparently not set properly when probed
> > causing no MDIO busses to be found. Fix this by obtaining the
> > offset.
> >
> > Signed-off-by: Tim Harvey <tharvey at gateworks.com>
>
> Reviewed-by: Stefan Roese <sr at denx.de>
>
> Thanks,
> Stefan
>
> > ---
> >   drivers/net/octeontx/smi.c | 2 ++
> >   1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/net/octeontx/smi.c b/drivers/net/octeontx/smi.c
> > index 91dcd05e4b..27f4423c6a 100644
> > --- a/drivers/net/octeontx/smi.c
> > +++ b/drivers/net/octeontx/smi.c
> > @@ -325,6 +325,8 @@ int octeontx_smi_probe(struct udevice *dev)
> >               return -1;
> >       }
> >
> > +     node = fdt_node_offset_by_compatible(gd->fdt_blob, -1,
> > +                                          "cavium,thunder-8890-mdio-nexus");
> >       fdt_for_each_subnode(subnode, gd->fdt_blob, node) {
> >               ret = fdt_node_check_compatible(gd->fdt_blob, subnode,
> >                                               "cavium,thunder-8890-mdio");
> >

Honestly this is the wrong fix for this issue and I'm hoping someone
could educate me. I'm a bit confused at why there are several ways to
work with dt (int offsets vs ofnodes which are unions of int offsets
and node pointers???).

The above patch was not needed previously so something changed in the
ofnode field of struct udevice between v2019.10 and v2021.01.

Simon, could you explain what the proper way to work with dev->ofnode
in probe functions is to loop over subnodes?

Best regards,

Tim


More information about the U-Boot mailing list