diff options
Diffstat (limited to 'target/linux/ar71xx/files')
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 c2877f272..8b8fcfac3 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 2b11882e3..25b988130 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 e34a8fcc6..4646ada1a 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 8ca611de6..2a4b4539a 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); | 
