diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-11-05 15:47:39 +0100 |
commit | e3c49aac6963901f793f8b5cb48d041d36162bcf (patch) | |
tree | 55fbb5b8f1b62b7e3c3cbbe87b122945e7b9ae90 /drivers/net/cpsw.c | |
parent | a407a4ddaac41819948d16f5bbaa657974e75654 (diff) | |
parent | f95ce0fff0775c04954ae2e4542308baaa434ac8 (diff) | |
download | barebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.gz barebox-e3c49aac6963901f793f8b5cb48d041d36162bcf.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers/net/cpsw.c')
-rw-r--r-- | drivers/net/cpsw.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index d3cc0e930b..b6618ad675 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -1199,6 +1199,19 @@ int cpsw_probe(struct device_d *dev) mdiobus_register(&priv->miibus); for (i = 0; i < priv->num_slaves; i++) { + struct phy_device *phy; + + phy = mdiobus_scan(&priv->miibus, priv->slaves[i].phy_id); + if (IS_ERR(phy)) { + ret = PTR_ERR(phy); + goto out; + } + + phy->dev.device_node = priv->slaves[i].dev.device_node; + ret = phy_register_device(phy); + if (ret) + goto out; + ret = cpsw_slave_setup(&priv->slaves[i], i, priv); if (ret) goto out; |