fec: Cleanup PHY probing
authorDenis Kirjanov <dkirjanov@hera.kernel.org>
Wed, 2 Jun 2010 09:17:00 +0000 (09:17 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Jun 2010 10:18:21 +0000 (03:18 -0700)
Cleanup PHY probing: use helpers from phylib

Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/fec.c

index b896f686ab345943ca376a72cb991492d8e139be..25df1b860c0b2344bfc6feb632570d9a2220e942 100644 (file)
@@ -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 */