upgrade orion to 2.6.28-rc7
[openwrt.git] / target / linux / orion / patches / 020-wnr854t_switch_support.patch
diff --git a/target/linux/orion/patches/020-wnr854t_switch_support.patch b/target/linux/orion/patches/020-wnr854t_switch_support.patch
new file mode 100644 (file)
index 0000000..564474a
--- /dev/null
@@ -0,0 +1,34 @@
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -15,6 +15,7 @@
+ #include <linux/mtd/physmap.h>
+ #include <linux/mv643xx_eth.h>
+ #include <linux/ethtool.h>
++#include <net/dsa.h>
+ #include <asm/mach-types.h>
+ #include <asm/gpio.h>
+ #include <asm/mach/arch.h>
+@@ -97,6 +98,15 @@ static struct mv643xx_eth_platform_data 
+       .duplex         = DUPLEX_FULL,
+ };
++static struct dsa_platform_data wnr854t_switch_data = {
++      .port_names[0] = "lan3",
++      .port_names[1] = "lan4",
++      .port_names[2] = "wan",
++      .port_names[3] = "cpu",
++      .port_names[5] = "lan1",
++      .port_names[7] = "lan2",
++};
++
+ static void __init wnr854t_init(void)
+ {
+       /*
+@@ -110,6 +120,7 @@ static void __init wnr854t_init(void)
+        * Configure peripherals.
+        */
+       orion5x_eth_init(&wnr854t_eth_data);
++      orion5x_eth_switch_init(&wnr854t_switch_data, NO_IRQ);
+       orion5x_uart0_init();
+       orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE,