Commit e4a474f8 authored by kirjanov@gmail.com's avatar kirjanov@gmail.com Committed by David S. Miller

smsc911x: replace manual phy lookup.

Use phy_find_first() function instead of manual lookup.
Signed-off-by: default avatarDenis Kirjanov <kirjanov@gmail.com>
Reviewed-by: default avatarJiri Pirko <jpirko@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e76b69cc
...@@ -770,29 +770,25 @@ static int smsc911x_mii_probe(struct net_device *dev) ...@@ -770,29 +770,25 @@ static int smsc911x_mii_probe(struct net_device *dev)
{ {
struct smsc911x_data *pdata = netdev_priv(dev); struct smsc911x_data *pdata = netdev_priv(dev);
struct phy_device *phydev = NULL; struct phy_device *phydev = NULL;
int phy_addr; int ret;
/* find the first phy */ /* find the first phy */
for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { phydev = phy_find_first(pdata->mii_bus);
if (pdata->mii_bus->phy_map[phy_addr]) {
phydev = pdata->mii_bus->phy_map[phy_addr];
SMSC_TRACE(PROBE, "PHY %d: addr %d, phy_id 0x%08X",
phy_addr, phydev->addr, phydev->phy_id);
break;
}
}
if (!phydev) { if (!phydev) {
pr_err("%s: no PHY found\n", dev->name); pr_err("%s: no PHY found\n", dev->name);
return -ENODEV; return -ENODEV;
} }
phydev = phy_connect(dev, dev_name(&phydev->dev), SMSC_TRACE(PROBE, "PHY %d: addr %d, phy_id 0x%08X",
&smsc911x_phy_adjust_link, 0, pdata->config.phy_interface); phy_addr, phydev->addr, phydev->phy_id);
ret = phy_connect_direct(dev, phydev,
&smsc911x_phy_adjust_link, 0,
pdata->config.phy_interface);
if (IS_ERR(phydev)) { if (ret) {
pr_err("%s: Could not attach to PHY\n", dev->name); pr_err("%s: Could not attach to PHY\n", dev->name);
return PTR_ERR(phydev); return ret;
} }
pr_info("%s: attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n", pr_info("%s: attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment