diff options
author | Denis Kirjanov <dkirjanov@hera.kernel.org> | 2010-06-02 11:17:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-03 12:18:21 +0200 |
commit | 1273d97674a1782ff55b823aa6c40aea9b538aaf (patch) | |
tree | c4030975260322e0a6e1b3ac102aeeefd201c233 /drivers/net | |
parent | fec: convert TX hook to netdev_tx_t (diff) | |
download | linux-1273d97674a1782ff55b823aa6c40aea9b538aaf.tar.xz linux-1273d97674a1782ff55b823aa6c40aea9b538aaf.zip |
fec: Cleanup PHY probing
Cleanup PHY probing: use helpers from phylib
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fec.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index b896f686ab34..25df1b860c0b 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -679,30 +679,24 @@ static int fec_enet_mii_probe(struct net_device *dev) { struct fec_enet_private *fep = netdev_priv(dev); struct phy_device *phy_dev = NULL; - int phy_addr; + int ret; fep->phy_dev = NULL; /* find the first phy */ - for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { - if (fep->mii_bus->phy_map[phy_addr]) { - phy_dev = fep->mii_bus->phy_map[phy_addr]; - break; - } - } - + phy_dev = phy_find_first(fep->mii_bus); if (!phy_dev) { printk(KERN_ERR "%s: no PHY found\n", dev->name); return -ENODEV; } /* attach the mac to the phy */ - phy_dev = phy_connect(dev, dev_name(&phy_dev->dev), + ret = phy_connect_direct(dev, phy_dev, &fec_enet_adjust_link, 0, PHY_INTERFACE_MODE_MII); - if (IS_ERR(phy_dev)) { + if (ret) { printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name); - return PTR_ERR(phy_dev); + return ret; } /* mask with MAC supported features */ |