From b07b687aecfa2a2568e5ac9038ef33d5ed6ce1ab Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Sat, 12 Nov 2011 12:09:42 +0000 Subject: [PATCH] ar71xx: pass netdev and miidev pointer to ar71xx_add_device_dsa SVN-Revision: 28981 --- .../ar71xx/files/arch/mips/ar71xx/dev-dsa.c | 20 ++++--------------- .../ar71xx/files/arch/mips/ar71xx/dev-dsa.h | 3 ++- .../files/arch/mips/ar71xx/mach-tl-wr841n.c | 5 +++-- .../files/arch/mips/ar71xx/mach-tl-wr941nd.c | 4 +++- 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 -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 #include +#include #include @@ -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 #include +#include #include @@ -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);