diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-05-14 16:48:26 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-05-15 13:58:39 +0200 |
commit | 26576f8ef552c3be2dded065c546d3b38903ddbc (patch) | |
tree | fd48ed09125317dc43284e6f1bb1addac62a9f9b /drivers/net/cpsw.c | |
parent | 6322a0305f0f87b3fcee5386d605925e5f10aefc (diff) | |
download | barebox-26576f8ef552c3be2dded065c546d3b38903ddbc.tar.gz barebox-26576f8ef552c3be2dded065c546d3b38903ddbc.tar.xz |
net: cpsw: Allow multiple slaves
The driver is ready now for handling both slaved, so add support
for it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/cpsw.c')
-rw-r--r-- | drivers/net/cpsw.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index 493092698c..ccae5376c3 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -572,9 +572,6 @@ static void cpsw_slave_update_link(struct cpsw_slave *slave, if (!phydev) return; - if (slave->slave_num) - return; - if (phydev->link) { *link = 1; mac_control = BIT(5); /* MIIEN */ @@ -1096,9 +1093,6 @@ static int cpsw_probe_dt(struct cpsw_priv *priv) cpsw_gmii_sel_am335x(slave); } - /* Only one slave supported by this driver */ - priv->num_slaves = 1; - return 0; } @@ -1110,7 +1104,7 @@ int cpsw_probe(struct device_d *dev) uint64_t start; uint32_t phy_mask; struct cpsw_data *cpsw_data; - int ret; + int i, ret; dev_dbg(dev, "* %s\n", __func__); @@ -1202,9 +1196,11 @@ int cpsw_probe(struct device_d *dev) mdiobus_register(&priv->miibus); - ret = cpsw_slave_setup(&priv->slaves[0], 0, priv); - if (ret) - goto out; + for (i = 0; i < priv->num_slaves; i++) { + ret = cpsw_slave_setup(&priv->slaves[i], i, priv); + if (ret) + goto out; + } return 0; out: |