Use ofnode_ APIs instead of fdt_ APIs so that the fixed PHY driver can support live DT.
Signed-off-by: Bin Meng <bmeng...@gmail.com> --- drivers/net/phy/phy.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index d08e8026ba..69e02685fa 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -1002,18 +1002,19 @@ static struct phy_device *phy_connect_fixed(struct mii_dev *bus, phy_interface_t interface) { struct phy_device *phydev = NULL; - int sn; + ofnode node = dev_ofnode(dev); const char *name; - sn = fdt_first_subnode(gd->fdt_blob, dev_of_offset(dev)); - while (sn > 0) { - name = fdt_get_name(gd->fdt_blob, sn, NULL); + node = ofnode_first_subnode(node); + while (ofnode_valid(node)) { + name = ofnode_get_name(node); if (name && strcmp(name, "fixed-link") == 0) { - phydev = phy_device_create(bus, sn, PHY_FIXED_ID, false, + phydev = phy_device_create(bus, ofnode_to_offset(node), + PHY_FIXED_ID, false, interface); break; } - sn = fdt_next_subnode(gd->fdt_blob, sn); + node = ofnode_next_subnode(node); } return phydev; -- 2.25.1