kernel: update 3.18 to 3.18.14
[openwrt.git] / target / linux / brcm47xx / patches-3.18 / 031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch
1 From 160f14312b0b7d35759535b1f60be79247b263c4 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
3 Date: Wed, 1 Apr 2015 18:18:02 +0200
4 Subject: [PATCH] MIPS: BCM47xx: Devices database update for 4.1 (or 4.2?)
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
10 Cc: linux-mips@linux-mips.org
11 Cc: Hauke Mehrtens <hauke@hauke-m.de>
12 Patchwork: https://patchwork.linux-mips.org/patch/9656/
13 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 ---
15  arch/mips/bcm47xx/board.c                          |  4 ++++
16  arch/mips/bcm47xx/buttons.c                        | 18 ++++++++++++++++++
17  arch/mips/bcm47xx/leds.c                           | 10 ++++++++++
18  arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h |  4 ++++
19  4 files changed, 36 insertions(+)
20
21 --- a/arch/mips/bcm47xx/board.c
22 +++ b/arch/mips/bcm47xx/board.c
23 @@ -151,9 +151,11 @@ static const
24  struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = {
25         {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"},
26         {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"},
27 +       {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"},
28         {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"},
29         {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"},
30         {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"},
31 +       {{BCM47XX_BOARD_NETGEAR_WNDR3400_V3, "Netgear WNDR3400 V3"}, "U12H208T00_NETGEAR"},
32         {{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
33         {{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
34         {{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
35 @@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_
36  static const
37  struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
38         {{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
39 +       {{BCM47XX_BOARD_LINKSYS_WRT300N_V1, "Linksys WRT300N V1"}, "router_name", "WRT300N"},
40 +       {{BCM47XX_BOARD_LINKSYS_WRT600N_V11, "Linksys WRT600N V1.1"}, "Model_Name", "WRT600N"},
41         {{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
42         { {0}, NULL},
43  };
44 --- a/arch/mips/bcm47xx/buttons.c
45 +++ b/arch/mips/bcm47xx/buttons.c
46 @@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __in
47  };
48  
49  static const struct gpio_keys_button
50 +bcm47xx_buttons_linksys_wrt300n_v1[] __initconst = {
51 +       BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
52 +       BCM47XX_GPIO_KEY(6, KEY_RESTART),
53 +};
54 +
55 +static const struct gpio_keys_button
56  bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
57         BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
58         BCM47XX_GPIO_KEY(6, KEY_RESTART),
59 @@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __i
60  };
61  
62  static const struct gpio_keys_button
63 +bcm47xx_buttons_netgear_wndr3400_v3[] __initconst = {
64 +       BCM47XX_GPIO_KEY(12, KEY_RESTART),
65 +       BCM47XX_GPIO_KEY(23, KEY_WPS_BUTTON),
66 +};
67 +
68 +static const struct gpio_keys_button
69  bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
70         BCM47XX_GPIO_KEY(2, KEY_RFKILL),
71         BCM47XX_GPIO_KEY(3, KEY_RESTART),
72 @@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void
73         case BCM47XX_BOARD_LINKSYS_WRT160NV3:
74                 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
75                 break;
76 +       case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
77 +               err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300n_v1);
78 +               break;
79         case BCM47XX_BOARD_LINKSYS_WRT300NV11:
80                 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
81                 break;
82 @@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void
83         case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
84                 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
85                 break;
86 +       case BCM47XX_BOARD_NETGEAR_WNDR3400_V3:
87 +               err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400_v3);
88 +               break;
89         case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
90                 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
91                 break;
92 --- a/arch/mips/bcm47xx/leds.c
93 +++ b/arch/mips/bcm47xx/leds.c
94 @@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initc
95  };
96  
97  static const struct gpio_led
98 +bcm47xx_leds_linksys_wrt300n_v1[] __initconst = {
99 +       BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
100 +       BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
101 +       BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
102 +};
103 +
104 +static const struct gpio_led
105  bcm47xx_leds_linksys_wrt300nv11[] __initconst = {
106         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
107         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
108 @@ -585,6 +592,9 @@ void __init bcm47xx_leds_register(void)
109         case BCM47XX_BOARD_LINKSYS_WRT160NV3:
110                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3);
111                 break;
112 +       case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
113 +               bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300n_v1);
114 +               break;
115         case BCM47XX_BOARD_LINKSYS_WRT300NV11:
116                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
117                 break;
118 --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
119 +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
120 @@ -67,6 +67,7 @@ enum bcm47xx_board {
121         BCM47XX_BOARD_LINKSYS_WRT150NV11,
122         BCM47XX_BOARD_LINKSYS_WRT160NV1,
123         BCM47XX_BOARD_LINKSYS_WRT160NV3,
124 +       BCM47XX_BOARD_LINKSYS_WRT300N_V1,
125         BCM47XX_BOARD_LINKSYS_WRT300NV11,
126         BCM47XX_BOARD_LINKSYS_WRT310NV1,
127         BCM47XX_BOARD_LINKSYS_WRT310NV2,
128 @@ -74,6 +75,7 @@ enum bcm47xx_board {
129         BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101,
130         BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467,
131         BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708,
132 +       BCM47XX_BOARD_LINKSYS_WRT600N_V11,
133         BCM47XX_BOARD_LINKSYS_WRT610NV1,
134         BCM47XX_BOARD_LINKSYS_WRT610NV2,
135         BCM47XX_BOARD_LINKSYS_WRTSL54GS,
136 @@ -86,9 +88,11 @@ enum bcm47xx_board {
137  
138         BCM47XX_BOARD_NETGEAR_WGR614V8,
139         BCM47XX_BOARD_NETGEAR_WGR614V9,
140 +       BCM47XX_BOARD_NETGEAR_WGR614_V10,
141         BCM47XX_BOARD_NETGEAR_WNDR3300,
142         BCM47XX_BOARD_NETGEAR_WNDR3400V1,
143         BCM47XX_BOARD_NETGEAR_WNDR3400V2,
144 +       BCM47XX_BOARD_NETGEAR_WNDR3400_V3,
145         BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
146         BCM47XX_BOARD_NETGEAR_WNDR3700V3,
147         BCM47XX_BOARD_NETGEAR_WNDR4000,