diff options
author | Marek BehĂșn <marek.behun@nic.cz> | 2022-04-07 00:33:01 +0200 |
---|---|---|
committer | Ramon Fried <ramon@neureality.ai> | 2022-04-10 08:44:12 +0300 |
commit | 123ca114e07ecf28aa2538748d733e2b22d8b8b5 (patch) | |
tree | 0a5481e51e4e50b33daf4d10f37574f6f797b04f /drivers/net/phy | |
parent | 9c06b4815ce1d663085c214133762614bba79fbe (diff) | |
download | u-boot-123ca114e07ecf28aa2538748d733e2b22d8b8b5.zip u-boot-123ca114e07ecf28aa2538748d733e2b22d8b8b5.tar.gz u-boot-123ca114e07ecf28aa2538748d733e2b22d8b8b5.tar.bz2 |
net: introduce helpers to get PHY interface mode from a device/ofnode
Add helpers ofnode_read_phy_mode() and dev_read_phy_mode() to parse the
"phy-mode" / "phy-connection-type" property. Add corresponding UT test.
Use them treewide.
This allows us to inline the phy_get_interface_by_name() into
ofnode_read_phy_mode(), since the former is not used anymore.
Signed-off-by: Marek BehĂșn <marek.behun@nic.cz>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Tested-by: Patrice Chotard <patrice.chotard@foss.st.com>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r-- | drivers/net/phy/phy.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index c8289d3..ba7b361 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -982,25 +982,16 @@ static struct phy_device *phy_connect_gmii2rgmii(struct mii_dev *bus, */ struct phy_device *fixed_phy_create(ofnode node) { - phy_interface_t interface = PHY_INTERFACE_MODE_NONE; struct phy_device *phydev; - const char *if_str; ofnode subnode; - if_str = ofnode_read_string(node, "phy-mode"); - if (!if_str) { - if_str = ofnode_read_string(node, "phy-connection-type"); - } - if (if_str) { - interface = phy_get_interface_by_name(if_str); - } - subnode = ofnode_find_subnode(node, "fixed-link"); if (!ofnode_valid(subnode)) { return NULL; } - phydev = phy_device_create(NULL, 0, PHY_FIXED_ID, false, interface); + phydev = phy_device_create(NULL, 0, PHY_FIXED_ID, false, + ofnode_read_phy_mode(node)); if (phydev) phydev->node = subnode; @@ -1098,15 +1089,3 @@ int phy_shutdown(struct phy_device *phydev) return 0; } - -int phy_get_interface_by_name(const char *str) -{ - int i; - - for (i = 0; i < PHY_INTERFACE_MODE_COUNT; i++) { - if (!strcmp(str, phy_interface_strings[i])) - return i; - } - - return -1; -} |