diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-11-20 08:56:05 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-11-22 15:35:12 +0100 |
commit | e586a64d3e3c2e5fb6363271fb079126b7e9fa0f (patch) | |
tree | 1f571223fcfadba8785dc4995c39177303665cc8 | |
parent | 7f5b61ab145725ef970c4b8b2d3ca47bb1fdc2f5 (diff) | |
download | barebox-e586a64d3e3c2e5fb6363271fb079126b7e9fa0f.tar.gz |
net: cpsw: inline slave_data
Devicetree probed cpsw devices won't have platform_data, so inline
the fields from slave_data instead of keeping a pointer.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/net/cpsw.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index e51a8b1b6e..25ba3d905a 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -175,7 +175,8 @@ struct cpsw_slave { struct cpsw_sliver_regs *sliver; int slave_num; u32 mac_control; - struct cpsw_slave_data *data; + int phy_id; + phy_interface_t phy_if; }; struct cpdma_desc { @@ -765,13 +766,13 @@ static int cpsw_init(struct eth_device *edev) static int cpsw_open(struct eth_device *edev) { struct cpsw_priv *priv = edev->priv; - struct cpsw_slave_data *slave_data = priv->data.slave_data; + struct cpsw_slave *slave = &priv->slaves[0]; int i, ret; dev_dbg(priv->dev, "* %s\n", __func__); - ret = phy_device_connect(edev, &priv->miibus, slave_data[0].phy_id, - cpsw_adjust_link, 0, slave_data[0].phy_if); + ret = phy_device_connect(edev, &priv->miibus, slave->phy_id, + cpsw_adjust_link, 0, slave->phy_if); if (ret) return ret; @@ -908,7 +909,8 @@ static void cpsw_slave_setup(struct cpsw_slave *slave, int slave_num, dev_dbg(priv->dev, "* %s\n", __func__); slave->slave_num = slave_num; - slave->data = data; + slave->phy_id = data->phy_id; + slave->phy_if = data->phy_if; slave->regs = regs + priv->slave_ofs + priv->slave_size * slave_num; slave->sliver = regs + priv->sliver_ofs + SLIVER_SIZE * slave_num; } |