Message ID | 20210302153451.19440-5-bmeng.cn@gmail.com |
---|---|
State | Superseded |
Delegated to: | Priyanka Jain |
Headers | show |
Series | ppc: qemu: Add eTSEC support | expand |
On Tue, Mar 2, 2021 at 5:35 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > Use ofnode_ APIs instead of fdt_ APIs so that the fixed PHY driver > can support live DT. > > Signed-off-by: Bin Meng <bmeng.cn@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 > Reviewed-By: Ramon Fried <rfried.dev@gmail.com>
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;
Use ofnode_ APIs instead of fdt_ APIs so that the fixed PHY driver can support live DT. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> --- drivers/net/phy/phy.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)