diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2021-03-14 20:14:52 +0800 |
---|---|---|
committer | Priyanka Jain <priyanka.jain@nxp.com> | 2021-04-15 14:22:17 +0530 |
commit | 676fbd3dbf6b74b1369e0fe4baa63d37bb1d8684 (patch) | |
tree | e860be8958a0fa1678a5e30484572ac558722202 | |
parent | 188ff18f94174ac828f480d777eae16755efb12e (diff) | |
download | u-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.c | 16 |
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; } |