From 812763d48e6daa3895406d100008307d7154985e Mon Sep 17 00:00:00 2001 From: juhosg Date: Thu, 15 Dec 2011 22:25:11 +0000 Subject: ar71xx: introduce ar71xx_switch_data git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c | 3 +++ target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'target/linux/ar71xx/files/drivers') diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c index c0eca4ae4..e96fe3626 100644 --- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c +++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c @@ -198,6 +198,7 @@ struct ar7240sw { struct mii_bus *mii_bus; + struct ag71xx_switch_platform_data *swdata; struct switch_dev swdev; int num_ports; bool vlan; @@ -843,6 +844,7 @@ static const struct switch_dev_ops ar7240_ops = { static struct ar7240sw *ar7240_probe(struct ag71xx *ag) { + struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag); struct mii_bus *mii = ag->mii_bus; struct ar7240sw *as; struct switch_dev *swdev; @@ -865,6 +867,7 @@ static struct ar7240sw *ar7240_probe(struct ag71xx *ag) return NULL; as->mii_bus = mii; + as->swdata = pdata->switch_data; ctrl = ar7240sw_reg_read(mii, AR7240_REG_MASK_CTRL); ver = (ctrl >> AR7240_MASK_CTRL_VERSION_S) & AR7240_MASK_CTRL_VERSION_M; diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c index 9b88b3d41..b10dd4917 100644 --- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c +++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c @@ -48,7 +48,7 @@ void ag71xx_phy_start(struct ag71xx *ag) if (ag->phy_dev) { phy_start(ag->phy_dev); - } else if (pdata->has_ar7240_switch) { + } else if (pdata->switch_data) { ag71xx_ar7240_start(ag); } else { ag->link = 1; @@ -63,8 +63,8 @@ void ag71xx_phy_stop(struct ag71xx *ag) if (ag->phy_dev) phy_stop(ag->phy_dev); - else if (pdata->has_ar7240_switch) - ag71xx_ar7240_stop(ag); + else if (pdata->switch_data) + ag71xx_ar7240_stop(ag); spin_lock_irqsave(&ag->lock, flags); if (ag->link) { @@ -216,7 +216,7 @@ int __devinit ag71xx_phy_connect(struct ag71xx *ag) mutex_unlock(&ag->mii_bus->mdio_lock); } - if (pdata->has_ar7240_switch) + if (pdata->switch_data) return ag71xx_ar7240_init(ag); if (pdata->phy_mask) @@ -229,7 +229,7 @@ void ag71xx_phy_disconnect(struct ag71xx *ag) { struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag); - if (pdata->has_ar7240_switch) + if (pdata->switch_data) ag71xx_ar7240_cleanup(ag); else if (ag->phy_dev) phy_disconnect(ag->phy_dev); -- cgit v1.2.3