]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: phy: micrel: Try default PHY ofnode first
authorMarek Vasut <marex@denx.de>
Sat, 16 Jan 2021 23:16:16 +0000 (00:16 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 27 Jan 2021 15:47:54 +0000 (10:47 -0500)
The phydev structure has a PHY OF node pointer in it, use that OF node
first when looking up PHY OF node properties, since that is likely the
correct PHY OF node pointer. If the pointer is not valid, which is the
case e.g. on legacy DTs, fall back to parsing MAC ethernet-phy subnode.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
drivers/net/phy/micrel_ksz90x1.c

index 77fad4a8fc9e00996910900e6928fd03e19b9fd2..e5f578201f350a1df1fe76277163e342dc7f21ee 100644 (file)
@@ -120,8 +120,13 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
        if (!drv || !drv->writeext)
                return -EOPNOTSUPP;
 
-       /* Look for a PHY node under the Ethernet node */
-       node = dev_read_subnode(dev, "ethernet-phy");
+       node = phydev->node;
+
+       if (!ofnode_valid(node)) {
+               /* Look for a PHY node under the Ethernet node */
+               node = dev_read_subnode(dev, "ethernet-phy");
+       }
+
        if (!ofnode_valid(node)) {
                /* No node found, look in the Ethernet node */
                node = dev_ofnode(dev);