summaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/phy.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-12-11 10:53:22 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-12-11 10:53:22 +0100
commit664694d9f72ae8782f9d923e8813e2f51df2a2b7 (patch)
tree0357f2c28b60b7d3ec9ec7e129966987b75288ad /drivers/net/phy/phy.c
parent58f9167a04e5c780f07a0488a1cd9c71d28ffc08 (diff)
downloadbarebox-664694d9f72ae8782f9d923e8813e2f51df2a2b7.tar.gz
barebox-664694d9f72ae8782f9d923e8813e2f51df2a2b7.tar.xz
net: phy: move duplicated code out of if/else
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r--drivers/net/phy/phy.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index a83b35c141..fb4cb118bc 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -269,13 +269,6 @@ int phy_device_connect(struct eth_device *edev, struct mii_bus *bus, int addr,
ret = -EIO;
goto fail;
}
-
- dev->interface = interface;
- dev->dev_flags = flags;
-
- ret = phy_register_device(dev);
- if (ret)
- goto fail;
} else {
for (i = 0; i < PHY_MAX_ADDR && !edev->phydev; i++) {
/* skip masked out PHY addresses */
@@ -283,20 +276,18 @@ int phy_device_connect(struct eth_device *edev, struct mii_bus *bus, int addr,
continue;
dev = mdiobus_scan(bus, i);
- if (IS_ERR(dev) || dev->attached_dev)
- continue;
-
- dev->interface = interface;
- dev->dev_flags = flags;
-
- ret = phy_register_device(dev);
- if (ret)
- goto fail;
-
- break;
+ if (!IS_ERR(dev) && !dev->attached_dev)
+ break;
}
}
+ dev->interface = interface;
+ dev->dev_flags = flags;
+
+ ret = phy_register_device(dev);
+ if (ret)
+ goto fail;
+
edev->phydev = dev;
dev->attached_dev = edev;
phy_config_aneg(edev->phydev);