aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c20
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h3
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c5
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c4
4 files changed, 12 insertions, 20 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c
index c2877f2728..8b8fcfac3e 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c
@@ -22,27 +22,15 @@ static struct platform_device ar71xx_dsa_switch_device = {
.id = 0,
};
-void __init ar71xx_add_device_dsa(unsigned int id,
+void __init ar71xx_add_device_dsa(struct device *netdev,
+ struct device *miidev,
struct dsa_platform_data *d)
{
int i;
- switch (id) {
- case 0:
- d->netdev = &ar71xx_eth0_device.dev;
- break;
- case 1:
- d->netdev = &ar71xx_eth1_device.dev;
- break;
- default:
- printk(KERN_ERR
- "ar71xx: invalid ethernet id %d for DSA switch\n",
- id);
- return;
- }
-
+ d->netdev = netdev;
for (i = 0; i < d->nr_chips; i++)
- d->chip[i].mii_bus = &ar71xx_mdio_device.dev;
+ d->chip[i].mii_bus = miidev;
ar71xx_dsa_switch_device.dev.platform_data = d;
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h
index 2b11882e32..25b988130d 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h
@@ -14,7 +14,8 @@
#include <net/dsa.h>
-void ar71xx_add_device_dsa(unsigned int id,
+void ar71xx_add_device_dsa(struct device *netdev,
+ struct device *miidev,
struct dsa_platform_data *d) __init;
#endif /* _AR71XX_DEV_DSA_H */
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c
index e34a8fcc6c..4646ada1a3 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c
@@ -10,6 +10,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
+#include <linux/platform_device.h>
#include <asm/mach-ar71xx/ar71xx.h>
@@ -125,8 +126,8 @@ static void __init tl_wr841n_v1_setup(void)
ar71xx_eth0_data.duplex = DUPLEX_FULL;
ar71xx_add_device_eth(0);
-
- ar71xx_add_device_dsa(0, &tl_wr841n_v1_dsa_data);
+ ar71xx_add_device_dsa(&ar71xx_eth0_device.dev, &ar71xx_mdio_device.dev,
+ &tl_wr841n_v1_dsa_data);
ar71xx_add_device_m25p80(&tl_wr841n_v1_flash_data);
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
index 8ca611de63..2a4b4539aa 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
@@ -10,6 +10,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
+#include <linux/platform_device.h>
#include <asm/mach-ar71xx/ar71xx.h>
@@ -130,7 +131,8 @@ static void __init tl_wr941nd_setup(void)
ar71xx_eth0_data.duplex = DUPLEX_FULL;
ar71xx_add_device_eth(0);
- ar71xx_add_device_dsa(0, &tl_wr941nd_dsa_data);
+ ar71xx_add_device_dsa(&ar71xx_eth0_device.dev, &ar71xx_mdio_device.dev,
+ &tl_wr941nd_dsa_data);
ar71xx_add_device_m25p80(&tl_wr941nd_flash_data);