diff options
Diffstat (limited to 'target/linux')
| -rw-r--r-- | target/linux/ar71xx/config-2.6.30 | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/config-2.6.31 | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/config-2.6.32 | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig | 5 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/Makefile | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c | 50 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h | 20 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/devices.c | 38 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/devices.h | 8 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c | 1 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c | 1 | 
11 files changed, 88 insertions, 39 deletions
diff --git a/target/linux/ar71xx/config-2.6.30 b/target/linux/ar71xx/config-2.6.30 index 16c44c2f2..0f0b5419b 100644 --- a/target/linux/ar71xx/config-2.6.30 +++ b/target/linux/ar71xx/config-2.6.30 @@ -6,6 +6,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y  CONFIG_AR71XX_DEV_AP91_PCI=y  CONFIG_AR71XX_DEV_AP94_PCI=y  CONFIG_AR71XX_DEV_AR913X_WMAC=y +CONFIG_AR71XX_DEV_DSA=y  CONFIG_AR71XX_DEV_GPIO_BUTTONS=y  CONFIG_AR71XX_DEV_LEDS_GPIO=y  CONFIG_AR71XX_DEV_M25P80=y diff --git a/target/linux/ar71xx/config-2.6.31 b/target/linux/ar71xx/config-2.6.31 index be330c790..7795cfc5c 100644 --- a/target/linux/ar71xx/config-2.6.31 +++ b/target/linux/ar71xx/config-2.6.31 @@ -8,6 +8,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y  CONFIG_AR71XX_DEV_AP91_PCI=y  CONFIG_AR71XX_DEV_AP94_PCI=y  CONFIG_AR71XX_DEV_AR913X_WMAC=y +CONFIG_AR71XX_DEV_DSA=y  CONFIG_AR71XX_DEV_GPIO_BUTTONS=y  CONFIG_AR71XX_DEV_LEDS_GPIO=y  CONFIG_AR71XX_DEV_M25P80=y diff --git a/target/linux/ar71xx/config-2.6.32 b/target/linux/ar71xx/config-2.6.32 index d9db5e859..6b483b3d7 100644 --- a/target/linux/ar71xx/config-2.6.32 +++ b/target/linux/ar71xx/config-2.6.32 @@ -8,6 +8,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y  CONFIG_AR71XX_DEV_AP91_PCI=y  CONFIG_AR71XX_DEV_AP94_PCI=y  CONFIG_AR71XX_DEV_AR913X_WMAC=y +CONFIG_AR71XX_DEV_DSA=y  CONFIG_AR71XX_DEV_GPIO_BUTTONS=y  CONFIG_AR71XX_DEV_LEDS_GPIO=y  CONFIG_AR71XX_DEV_M25P80=y diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig index e3a9e106d..e2aaa6606 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig @@ -142,6 +142,7 @@ config AR71XX_MACH_TL_WR841N_V1  	bool "TP-LINK TL-WR841N v1 support"  	select AR71XX_DEV_M25P80  	select AR71XX_DEV_PB42_PCI if PCI +	select AR71XX_DEV_DSA  	select AR71XX_DEV_GPIO_BUTTONS  	select AR71XX_DEV_LEDS_GPIO  	default n @@ -150,6 +151,7 @@ config AR71XX_MACH_TL_WR941ND  	bool "TP-LINK TL-WR941ND support"  	select AR71XX_DEV_M25P80  	select AR71XX_DEV_AR913X_WMAC +	select AR71XX_DEV_DSA  	select AR71XX_DEV_GPIO_BUTTONS  	select AR71XX_DEV_LEDS_GPIO  	default n @@ -195,6 +197,9 @@ config AR71XX_DEV_AP94_PCI  config AR71XX_DEV_AR913X_WMAC  	def_bool n +config AR71XX_DEV_DSA +	def_bool n +  config AR71XX_DEV_GPIO_BUTTONS  	def_bool n diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile index 9b5c4ddfb..db118fb29 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile @@ -16,6 +16,7 @@ obj-$(CONFIG_PCI)			+= pci.o  obj-$(CONFIG_AR71XX_DEV_AP91_PCI)	+= dev-ap91-pci.o  obj-$(CONFIG_AR71XX_DEV_AP94_PCI)	+= dev-ap94-pci.o  obj-$(CONFIG_AR71XX_DEV_AR913X_WMAC)	+= dev-ar913x-wmac.o +obj-$(CONFIG_AR71XX_DEV_DSA)		+= dev-dsa.o  obj-$(CONFIG_AR71XX_DEV_GPIO_BUTTONS)	+= dev-gpio-buttons.o  obj-$(CONFIG_AR71XX_DEV_LEDS_GPIO)	+= dev-leds-gpio.o  obj-$(CONFIG_AR71XX_DEV_M25P80)		+= dev-m25p80.o diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c new file mode 100644 index 000000000..c2877f272 --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.c @@ -0,0 +1,50 @@ +/* + *  Atheros AR71xx DSA switch device support + * + *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org> + *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> + * + *  This program is free software; you can redistribute it and/or modify it + *  under the terms of the GNU General Public License version 2 as published + *  by the Free Software Foundation. + */ + +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <asm/mach-ar71xx/ar71xx.h> + +#include "devices.h" +#include "dev-dsa.h" + +static struct platform_device ar71xx_dsa_switch_device = { +	.name		= "dsa", +	.id		= 0, +}; + +void __init ar71xx_add_device_dsa(unsigned int id, +				  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; +	} + +	for (i = 0; i < d->nr_chips; i++) +		d->chip[i].mii_bus = &ar71xx_mdio_device.dev; + +	ar71xx_dsa_switch_device.dev.platform_data = d; + +	platform_device_register(&ar71xx_dsa_switch_device); +} diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h new file mode 100644 index 000000000..2b11882e3 --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-dsa.h @@ -0,0 +1,20 @@ +/* + *  Atheros AR71xx DSA switch device support + * + *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org> + *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> + * + *  This program is free software; you can redistribute it and/or modify it + *  under the terms of the GNU General Public License version 2 as published + *  by the Free Software Foundation. + */ + +#ifndef _AR71XX_DEV_DSA_H +#define _AR71XX_DEV_DSA_H + +#include <net/dsa.h> + +void ar71xx_add_device_dsa(unsigned int id, +			   struct dsa_platform_data *d) __init; + +#endif /* _AR71XX_DEV_DSA_H */ diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c index 6261b26cf..a7b702681 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c @@ -72,7 +72,7 @@ static struct resource ar71xx_mdio_resources[] = {  static struct ag71xx_mdio_platform_data ar71xx_mdio_data; -static struct platform_device ar71xx_mdio_device = { +struct platform_device ar71xx_mdio_device = {  	.name		= "ag71xx-mdio",  	.id		= -1,  	.resource	= ar71xx_mdio_resources, @@ -252,7 +252,7 @@ struct ag71xx_platform_data ar71xx_eth0_data = {  	.reset_bit	= RESET_MODULE_GE0_MAC,  }; -static struct platform_device ar71xx_eth0_device = { +struct platform_device ar71xx_eth0_device = {  	.name		= "ag71xx",  	.id		= 0,  	.resource	= ar71xx_eth0_resources, @@ -285,7 +285,7 @@ struct ag71xx_platform_data ar71xx_eth1_data = {  	.reset_bit	= RESET_MODULE_GE1_MAC,  }; -static struct platform_device ar71xx_eth1_device = { +struct platform_device ar71xx_eth1_device = {  	.name		= "ag71xx",  	.id		= 1,  	.resource	= ar71xx_eth1_resources, @@ -545,35 +545,3 @@ void __init ar71xx_parse_mac_addr(char *mac_str)  		printk(KERN_DEBUG "ar71xx: failed to parse mac address "  				"\"%s\"\n", mac_str);  } - -static struct platform_device ar71xx_dsa_switch_device = { -	.name		= "dsa", -	.id		= 0, -}; - -void __init ar71xx_add_device_dsa(unsigned int id, -				  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; -	} - -	for (i = 0; i < d->nr_chips; i++) -		d->chip[i].mii_bus = &ar71xx_mdio_device.dev; - -	ar71xx_dsa_switch_device.dev.platform_data = d; - -	platform_device_register(&ar71xx_dsa_switch_device); -} diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h index d4dfdcc0d..957675b0e 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h @@ -14,7 +14,7 @@  #include <asm/mach-ar71xx/platform.h> -#include <net/dsa.h> +struct platform_device;  void ar71xx_add_device_spi(struct ar71xx_spi_platform_data *pdata,  			   struct spi_board_info const *info, @@ -34,15 +34,15 @@ extern struct ar71xx_eth_pll_data ar71xx_eth1_pll_data;  extern struct ag71xx_platform_data ar71xx_eth0_data;  extern struct ag71xx_platform_data ar71xx_eth1_data; +extern struct platform_device ar71xx_eth0_device; +extern struct platform_device ar71xx_eth1_device;  void ar71xx_add_device_eth(unsigned int id) __init; +extern struct platform_device ar71xx_mdio_device;  void ar71xx_add_device_mdio(u32 phy_mask) __init;  void ar71xx_add_device_uart(void) __init;  void ar71xx_add_device_wdt(void) __init; -void ar71xx_add_device_dsa(unsigned int id, -			   struct dsa_platform_data *d) __init; -  #endif /* __AR71XX_DEVICES_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 a0a4dda84..10d00c41e 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 @@ -15,6 +15,7 @@  #include "machtype.h"  #include "devices.h" +#include "dev-dsa.h"  #include "dev-m25p80.h"  #include "dev-gpio-buttons.h"  #include "dev-pb42-pci.h" 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 55fde5cb3..da26cc51b 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 @@ -15,6 +15,7 @@  #include "machtype.h"  #include "devices.h" +#include "dev-dsa.h"  #include "dev-m25p80.h"  #include "dev-ar913x-wmac.h"  #include "dev-gpio-buttons.h"  | 
