summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-11-20 08:56:05 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-11-22 15:35:12 +0100
commite586a64d3e3c2e5fb6363271fb079126b7e9fa0f (patch)
tree1f571223fcfadba8785dc4995c39177303665cc8
parent7f5b61ab145725ef970c4b8b2d3ca47bb1fdc2f5 (diff)
downloadbarebox-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.c12
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;
}