target/linux/*: kmod-fs-ext{2,3} RIP
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.10 / 144-MIPS-BCM47XX-Distinguish-WRT54G-series-devices-by-bo.patch
1 From 9fff5375229a4ba3a200747e079c46fa19b90797 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
3 Date: Fri, 20 Jun 2014 07:26:20 +0200
4 Subject: [3.17][PATCH 1/2] MIPS: BCM47XX: Distinguish WRT54G series devices by
5 boardtype
6 MIME-Version: 1.0
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
9
10 Catalin reported that GPIOs used by bcm47xx don't match layout of his
11 WRT54GS V1.0 board. It seems we need to distinguish these 54G* devices.
12
13 Reported-by: Catalin Patulea <cat@vv.carleton.ca>
14 Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
15 ---
16 arch/mips/bcm47xx/board.c | 6 +++---
17 arch/mips/bcm47xx/buttons.c | 10 ++++++----
18 arch/mips/bcm47xx/leds.c | 10 ++++++----
19 arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 4 +++-
20 4 files changed, 18 insertions(+), 12 deletions(-)
21
22 --- a/arch/mips/bcm47xx/board.c
23 +++ b/arch/mips/bcm47xx/board.c
24 @@ -179,9 +179,9 @@ struct bcm47xx_board_type_list3 bcm47xx_
25 {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"},
26 {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"},
27 {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"},
28 - {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"},
29 - {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"},
30 - {{BCM47XX_BOARD_LINKSYS_WRT54G, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"},
31 + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"},
32 + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"},
33 + {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"},
34 { {0}, NULL},
35 };
36
37 --- a/arch/mips/bcm47xx/buttons.c
38 +++ b/arch/mips/bcm47xx/buttons.c
39 @@ -265,7 +265,7 @@ bcm47xx_buttons_linksys_wrt54g3gv2[] __i
40 };
41
42 static const struct gpio_keys_button
43 -bcm47xx_buttons_linksys_wrt54gsv1[] __initconst = {
44 +bcm47xx_buttons_linksys_wrt54g_generic[] __initconst = {
45 BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
46 BCM47XX_GPIO_KEY(6, KEY_RESTART),
47 };
48 @@ -501,12 +501,14 @@ int __init bcm47xx_buttons_register(void
49 case BCM47XX_BOARD_LINKSYS_WRT310NV1:
50 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1);
51 break;
52 - case BCM47XX_BOARD_LINKSYS_WRT54G:
53 - err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54gsv1);
54 - break;
55 case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
56 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2);
57 break;
58 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101:
59 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467:
60 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708:
61 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g_generic);
62 + break;
63 case BCM47XX_BOARD_LINKSYS_WRT610NV1:
64 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv1);
65 break;
66 --- a/arch/mips/bcm47xx/leds.c
67 +++ b/arch/mips/bcm47xx/leds.c
68 @@ -292,7 +292,7 @@ bcm47xx_leds_linksys_wrt310nv1[] __initc
69 };
70
71 static const struct gpio_led
72 -bcm47xx_leds_linksys_wrt54gsv1[] __initconst = {
73 +bcm47xx_leds_linksys_wrt54g_generic[] __initconst = {
74 BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
75 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
76 BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
77 @@ -538,12 +538,14 @@ void __init bcm47xx_leds_register(void)
78 case BCM47XX_BOARD_LINKSYS_WRT310NV1:
79 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt310nv1);
80 break;
81 - case BCM47XX_BOARD_LINKSYS_WRT54G:
82 - bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54gsv1);
83 - break;
84 case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
85 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g3gv2);
86 break;
87 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101:
88 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467:
89 + case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708:
90 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_generic);
91 + break;
92 case BCM47XX_BOARD_LINKSYS_WRT610NV1:
93 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv1);
94 break;
95 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
96 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
97 @@ -70,7 +70,9 @@ enum bcm47xx_board {
98 BCM47XX_BOARD_LINKSYS_WRT310NV1,
99 BCM47XX_BOARD_LINKSYS_WRT310NV2,
100 BCM47XX_BOARD_LINKSYS_WRT54G3GV2,
101 - BCM47XX_BOARD_LINKSYS_WRT54G,
102 + BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101,
103 + BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467,
104 + BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708,
105 BCM47XX_BOARD_LINKSYS_WRT610NV1,
106 BCM47XX_BOARD_LINKSYS_WRT610NV2,
107 BCM47XX_BOARD_LINKSYS_WRTSL54GS,