net: stmmac: mdio: use phy_find_first to simplify stmmac_mdio_register

Simplify the code by using phy_find_first().

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20ca4962-9588-40b8-b021-fb349a92e9e5@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Heiner Kallweit
2025-10-18 20:48:07 +02:00
committed by Jakub Kicinski
parent 1471a274b7
commit 4a107a0e83

View File

@@ -584,7 +584,8 @@ int stmmac_mdio_register(struct net_device *ndev)
struct device *dev = ndev->dev.parent;
struct fwnode_handle *fixed_node;
struct fwnode_handle *fwnode;
int addr, found, max_addr;
struct phy_device *phydev;
int max_addr;
if (!mdio_bus_data)
return 0;
@@ -668,41 +669,31 @@ int stmmac_mdio_register(struct net_device *ndev)
if (priv->plat->phy_node || mdio_node)
goto bus_register_done;
found = 0;
for (addr = 0; addr < max_addr; addr++) {
struct phy_device *phydev = mdiobus_get_phy(new_bus, addr);
if (!phydev)
continue;
/*
* If an IRQ was provided to be assigned after
* the bus probe, do it here.
*/
if (!mdio_bus_data->irqs &&
(mdio_bus_data->probed_phy_irq > 0)) {
new_bus->irq[addr] = mdio_bus_data->probed_phy_irq;
phydev->irq = mdio_bus_data->probed_phy_irq;
}
/*
* If we're going to bind the MAC to this PHY bus,
* and no PHY number was provided to the MAC,
* use the one probed here.
*/
if (priv->plat->phy_addr == -1)
priv->plat->phy_addr = addr;
phy_attached_info(phydev);
found = 1;
}
if (!found && !mdio_node) {
phydev = phy_find_first(new_bus);
if (!phydev || phydev->mdio.addr > max_addr) {
dev_warn(dev, "No PHY found\n");
err = -ENODEV;
goto no_phy_found;
}
/*
* If an IRQ was provided to be assigned after
* the bus probe, do it here.
*/
if (!mdio_bus_data->irqs && mdio_bus_data->probed_phy_irq > 0) {
new_bus->irq[phydev->mdio.addr] = mdio_bus_data->probed_phy_irq;
phydev->irq = mdio_bus_data->probed_phy_irq;
}
/*
* If we're going to bind the MAC to this PHY bus, and no PHY number
* was provided to the MAC, use the one probed here.
*/
if (priv->plat->phy_addr == -1)
priv->plat->phy_addr = phydev->mdio.addr;
phy_attached_info(phydev);
bus_register_done:
priv->mii = new_bus;