aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2021-03-14 20:14:52 +0800
committerPriyanka Jain <priyanka.jain@nxp.com>2021-04-15 14:22:17 +0530
commit676fbd3dbf6b74b1369e0fe4baa63d37bb1d8684 (patch)
treee860be8958a0fa1678a5e30484572ac558722202
parent188ff18f94174ac828f480d777eae16755efb12e (diff)
downloadu-boot-676fbd3dbf6b74b1369e0fe4baa63d37bb1d8684.zip
u-boot-676fbd3dbf6b74b1369e0fe4baa63d37bb1d8684.tar.gz
u-boot-676fbd3dbf6b74b1369e0fe4baa63d37bb1d8684.tar.bz2
net: phy: Simplify the logic of phy_connect_fixed()
Simplify the logic of phy_connect_fixed() by using the new API ofnode_phy_is_fixed_link(), which brings additional bonus of supporting the old DT bindings. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--drivers/net/phy/phy.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index c7cdf64..dcdef9e 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -18,6 +18,7 @@
#include <phy.h>
#include <errno.h>
#include <asm/global_data.h>
+#include <dm/of_extra.h>
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/err.h>
@@ -1008,15 +1009,14 @@ static struct phy_device *phy_connect_fixed(struct mii_dev *bus,
phy_interface_t interface)
{
ofnode node = dev_ofnode(dev), subnode;
- struct phy_device *phydev;
-
- subnode = ofnode_find_subnode(node, "fixed-link");
- if (!ofnode_valid(subnode))
- return NULL;
+ struct phy_device *phydev = NULL;
- phydev = phy_device_create(bus, 0, PHY_FIXED_ID, false, interface);
- if (phydev)
- phydev->node = subnode;
+ if (ofnode_phy_is_fixed_link(node, &subnode)) {
+ phydev = phy_device_create(bus, 0, PHY_FIXED_ID,
+ false, interface);
+ if (phydev)
+ phydev->node = subnode;
+ }
return phydev;
}