net: eth-phy: manage subnode mdio0

Bind any subnode with name beginning by mdio, mdio0 for example,
and not only the "mdio" as namei of subnode.

Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
Patrick Delaunay 2021-07-20 20:09:53 +02:00 committed by Ramon Fried
parent 880ecb09b9
commit 035d8483ac

View file

@ -27,12 +27,18 @@ int eth_phy_binds_nodes(struct udevice *eth_dev)
const char *node_name;
int ret;
mdio_node = dev_read_subnode(eth_dev, "mdio");
/* search a subnode named "mdio.*" */
dev_for_each_subnode(mdio_node, eth_dev) {
node_name = ofnode_get_name(mdio_node);
if (!strncmp(node_name, "mdio", 4))
break;
}
if (!ofnode_valid(mdio_node)) {
dev_dbg(eth_dev, "%s: %s mdio subnode not found!", __func__,
dev_dbg(eth_dev, "%s: %s mdio subnode not found!\n", __func__,
eth_dev->name);
return -ENXIO;
}
dev_dbg(eth_dev, "%s: %s subnode found!\n", __func__, node_name);
ofnode_for_each_subnode(phy_node, mdio_node) {
node_name = ofnode_get_name(phy_node);