aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorMarek Vasut2021-01-17 00:16:16 +0100
committerTom Rini2021-01-27 10:47:54 -0500
commitb5f09df246a8a24a3b4acb669cbf95d2a063176b (patch)
tree69e5bf8f47272b2f365933033c79d75e1bd16502 /drivers/net/phy
parentc34a927566d553a799b4811456b49c88b6e5e30c (diff)
net: phy: micrel: Try default PHY ofnode first
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>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/micrel_ksz90x1.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c
index 77fad4a8fc9..e5f578201f3 100644
--- a/drivers/net/phy/micrel_ksz90x1.c
+++ b/drivers/net/phy/micrel_ksz90x1.c
@@ -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);