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

Stefan Roese sr at denx.de
Tue Apr 27 07:19:42 CEST 2021


Hi Tim,

On 26.03.21 16:55, Tim Harvey wrote:
> 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?

This version is in mainline now. Tim, could you please re-visit this
and perhaps switch to using live tree API, as suggested by Suneel:

	ofnode_for_each_subnode(subnode, dev_ofnode(dev)) {
		ret = ofnode_device_is_compatible(subnode,
			"cavium,thunder-8890-mdio");

Thanks,
Stefan


More information about the U-Boot mailing list