[PATCH 4/4] net: cpsw: Allow multiple slaves
Sascha Hauer
s.hauer at pengutronix.de
Wed May 14 23:56:56 PDT 2014
The driver is ready now for handling both slaved, so add support
for it.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/net/cpsw.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index d31cbb6..d55f62a 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 */
@@ -1086,9 +1083,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;
}
@@ -1100,7 +1094,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__);
@@ -1192,9 +1186,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:
--
2.0.0.rc0
More information about the barebox
mailing list