summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net')
-rw-r--r--target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar7240.c3
-rw-r--r--target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_phy.c10
2 files changed, 8 insertions, 5 deletions
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);