target/linux/*: kmod-fs-ext{2,3} RIP
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.10 / 123-MIPS-BCM47XX-Import-LEDs-database-from-OpenWrt.patch
1 From 6d4b22bc843c9de0f6acdbdcfb9b91b897a39e9c Mon Sep 17 00:00:00 2001
2 From: Rafa? Mi?ecki <zajec5@gmail.com>
3 Date: Thu, 2 Jan 2014 12:32:57 +0100
4 Subject: [PATCH 032/110] MIPS: BCM47XX: Import LEDs database from OpenWrt
5
6 Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
7 Acked-by: John Crispin <blogic@openwrt.org>
8 Patchwork: http://patchwork.linux-mips.org/patch/6298/
9 ---
10 arch/mips/bcm47xx/leds.c | 494 ++++++++++++++++++++++++++++++++++++++++++++++
11 1 file changed, 494 insertions(+)
12
13 --- a/arch/mips/bcm47xx/leds.c
14 +++ b/arch/mips/bcm47xx/leds.c
15 @@ -3,6 +3,334 @@
16 #include <linux/leds.h>
17 #include <bcm47xx_board.h>
18
19 +/**************************************************
20 + * Database
21 + **************************************************/
22 +
23 +#define BCM47XX_GPIO_LED(_gpio, _color, _function, _active_low, \
24 + _default_state) \
25 + { \
26 + .name = "bcm47xx:" _color ":" _function, \
27 + .gpio = _gpio, \
28 + .active_low = _active_low, \
29 + .default_state = _default_state, \
30 + }
31 +
32 +/* Asus */
33 +
34 +static const struct gpio_led
35 +bcm47xx_leds_asus_rtn12[] __initconst = {
36 + BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
37 + BCM47XX_GPIO_LED(7, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
38 +};
39 +
40 +static const struct gpio_led
41 +bcm47xx_leds_asus_rtn16[] __initconst = {
42 + BCM47XX_GPIO_LED(1, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
43 + BCM47XX_GPIO_LED(7, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
44 +};
45 +
46 +static const struct gpio_led
47 +bcm47xx_leds_asus_rtn66u[] __initconst = {
48 + BCM47XX_GPIO_LED(12, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
49 + BCM47XX_GPIO_LED(15, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
50 +};
51 +
52 +static const struct gpio_led
53 +bcm47xx_leds_asus_wl300g[] __initconst = {
54 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
55 +};
56 +
57 +static const struct gpio_led
58 +bcm47xx_leds_asus_wl320ge[] __initconst = {
59 + BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
60 + BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
61 + BCM47XX_GPIO_LED(11, "unk", "link", 1, LEDS_GPIO_DEFSTATE_OFF),
62 +};
63 +
64 +static const struct gpio_led
65 +bcm47xx_leds_asus_wl330ge[] __initconst = {
66 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
67 +};
68 +
69 +static const struct gpio_led
70 +bcm47xx_leds_asus_wl500gd[] __initconst = {
71 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
72 +};
73 +
74 +static const struct gpio_led
75 +bcm47xx_leds_asus_wl500gpv1[] __initconst = {
76 + BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
77 +};
78 +
79 +static const struct gpio_led
80 +bcm47xx_leds_asus_wl500gpv2[] __initconst = {
81 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
82 + BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
83 +};
84 +
85 +static const struct gpio_led
86 +bcm47xx_leds_asus_wl500w[] __initconst = {
87 + BCM47XX_GPIO_LED(5, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
88 +};
89 +
90 +static const struct gpio_led
91 +bcm47xx_leds_asus_wl520gc[] __initconst = {
92 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
93 + BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
94 +};
95 +
96 +static const struct gpio_led
97 +bcm47xx_leds_asus_wl520gu[] __initconst = {
98 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
99 + BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
100 +};
101 +
102 +static const struct gpio_led
103 +bcm47xx_leds_asus_wl700ge[] __initconst = {
104 + BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), /* Labeled "READY" (there is no "power" LED). Originally ON, flashing on USB activity. */
105 +};
106 +
107 +static const struct gpio_led
108 +bcm47xx_leds_asus_wlhdd[] __initconst = {
109 + BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
110 + BCM47XX_GPIO_LED(2, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
111 +};
112 +
113 +/* Belkin */
114 +
115 +static const struct gpio_led
116 +bcm47xx_leds_belkin_f7d4301[] __initconst = {
117 + BCM47XX_GPIO_LED(10, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
118 + BCM47XX_GPIO_LED(11, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
119 + BCM47XX_GPIO_LED(12, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
120 + BCM47XX_GPIO_LED(13, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
121 + BCM47XX_GPIO_LED(14, "unk", "usb0", 1, LEDS_GPIO_DEFSTATE_OFF),
122 + BCM47XX_GPIO_LED(15, "unk", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
123 +};
124 +
125 +/* Buffalo */
126 +
127 +static const struct gpio_led
128 +bcm47xx_leds_buffalo_whr2_a54g54[] __initconst = {
129 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
130 +};
131 +
132 +static const struct gpio_led
133 +bcm47xx_leds_buffalo_whr_g125[] __initconst = {
134 + BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
135 + BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
136 + BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
137 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
138 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
139 +};
140 +
141 +static const struct gpio_led
142 +bcm47xx_leds_buffalo_whr_g54s[] __initconst = {
143 + BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
144 + BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
145 + BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
146 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
147 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
148 +};
149 +
150 +static const struct gpio_led
151 +bcm47xx_leds_buffalo_whr_hp_g54[] __initconst = {
152 + BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
153 + BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
154 + BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
155 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
156 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
157 +};
158 +
159 +static const struct gpio_led
160 +bcm47xx_leds_buffalo_wzr_g300n[] __initconst = {
161 + BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
162 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
163 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
164 +};
165 +
166 +static const struct gpio_led
167 +bcm47xx_leds_buffalo_wzr_rs_g54[] __initconst = {
168 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
169 + BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
170 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
171 +};
172 +
173 +static const struct gpio_led
174 +bcm47xx_leds_buffalo_wzr_rs_g54hp[] __initconst = {
175 + BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
176 + BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
177 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
178 +};
179 +
180 +/* Dell */
181 +
182 +static const struct gpio_led
183 +bcm47xx_leds_dell_tm2300[] __initconst = {
184 + BCM47XX_GPIO_LED(6, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
185 + BCM47XX_GPIO_LED(7, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
186 +};
187 +
188 +/* D-Link */
189 +
190 +static const struct gpio_led
191 +bcm47xx_leds_dlink_dir130[] __initconst = {
192 + BCM47XX_GPIO_LED(0, "green", "status", 1, LEDS_GPIO_DEFSTATE_OFF), /* Originally blinking when device is ready, separated from "power" LED */
193 + BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
194 +};
195 +
196 +static const struct gpio_led
197 +bcm47xx_leds_dlink_dir330[] __initconst = {
198 + BCM47XX_GPIO_LED(0, "green", "status", 1, LEDS_GPIO_DEFSTATE_OFF), /* Originally blinking when device is ready, separated from "power" LED */
199 + BCM47XX_GPIO_LED(4, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
200 + BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
201 +};
202 +
203 +/* Huawei */
204 +
205 +static const struct gpio_led
206 +bcm47xx_leds_huawei_e970[] __initconst = {
207 + BCM47XX_GPIO_LED(0, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
208 +};
209 +
210 +/* Linksys */
211 +
212 +static const struct gpio_led
213 +bcm47xx_leds_linksys_e1000v1[] __initconst = {
214 + BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
215 + BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
216 + BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
217 + BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
218 +};
219 +
220 +static const struct gpio_led
221 +bcm47xx_leds_linksys_e1000v21[] __initconst = {
222 + BCM47XX_GPIO_LED(5, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
223 + BCM47XX_GPIO_LED(6, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
224 + BCM47XX_GPIO_LED(7, "amber", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
225 + BCM47XX_GPIO_LED(8, "blue", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
226 +};
227 +
228 +static const struct gpio_led
229 +bcm47xx_leds_linksys_e2000v1[] __initconst = {
230 + BCM47XX_GPIO_LED(1, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
231 + BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
232 + BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
233 + BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
234 +};
235 +
236 +static const struct gpio_led
237 +bcm47xx_leds_linksys_e3000v1[] __initconst = {
238 + BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
239 + BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
240 + BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
241 + BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
242 + BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
243 +};
244 +
245 +static const struct gpio_led
246 +bcm47xx_leds_linksys_e3200v1[] __initconst = {
247 + BCM47XX_GPIO_LED(3, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
248 +};
249 +
250 +static const struct gpio_led
251 +bcm47xx_leds_linksys_e4200v1[] __initconst = {
252 + BCM47XX_GPIO_LED(5, "white", "power", 1, LEDS_GPIO_DEFSTATE_ON),
253 +};
254 +
255 +static const struct gpio_led
256 +bcm47xx_leds_linksys_wrt150nv1[] __initconst = {
257 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
258 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
259 + BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
260 +};
261 +
262 +static const struct gpio_led
263 +bcm47xx_leds_linksys_wrt150nv11[] __initconst = {
264 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
265 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
266 + BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
267 +};
268 +
269 +static const struct gpio_led
270 +bcm47xx_leds_linksys_wrt160nv1[] __initconst = {
271 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
272 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
273 + BCM47XX_GPIO_LED(5, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
274 +};
275 +
276 +static const struct gpio_led
277 +bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
278 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
279 + BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
280 + BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
281 +};
282 +
283 +static const struct gpio_led
284 +bcm47xx_leds_linksys_wrt300nv11[] __initconst = {
285 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
286 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
287 + BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
288 +};
289 +
290 +static const struct gpio_led
291 +bcm47xx_leds_linksys_wrt310nv1[] __initconst = {
292 + BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
293 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
294 + BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
295 +};
296 +
297 +static const struct gpio_led
298 +bcm47xx_leds_linksys_wrt610nv1[] __initconst = {
299 + BCM47XX_GPIO_LED(0, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
300 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
301 + BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
302 + BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
303 +};
304 +
305 +static const struct gpio_led
306 +bcm47xx_leds_linksys_wrt610nv2[] __initconst = {
307 + BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
308 + BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
309 + BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
310 + BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
311 + BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
312 +};
313 +
314 +/* Motorola */
315 +
316 +static const struct gpio_led
317 +bcm47xx_leds_motorola_we800g[] __initconst = {
318 + BCM47XX_GPIO_LED(1, "amber", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
319 + BCM47XX_GPIO_LED(2, "unk", "unk", 1, LEDS_GPIO_DEFSTATE_OFF), /* There are only 3 LEDs: Power, Wireless and Device (ethernet) */
320 + BCM47XX_GPIO_LED(4, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
321 +};
322 +
323 +static const struct gpio_led
324 +bcm47xx_leds_motorola_wr850gp[] __initconst = {
325 + BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
326 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
327 + BCM47XX_GPIO_LED(6, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
328 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
329 +};
330 +
331 +static const struct gpio_led
332 +bcm47xx_leds_motorola_wr850gv2v3[] __initconst = {
333 + BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
334 + BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
335 + BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
336 +};
337 +
338 +/* Netgear */
339 +
340 +static const struct gpio_led
341 +bcm47xx_leds_netgear_wndr3400v1[] __initconst = {
342 + BCM47XX_GPIO_LED(2, "green", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
343 + BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
344 + BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
345 +};
346 +
347 static const struct gpio_led
348 bcm47xx_leds_netgear_wndr4500_v1_leds[] __initconst = {
349 {
350 @@ -49,6 +377,24 @@ bcm47xx_leds_netgear_wndr4500_v1_leds[]
351 },
352 };
353
354 +static const struct gpio_led
355 +bcm47xx_leds_netgear_wnr834bv2[] __initconst = {
356 + BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
357 + BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
358 + BCM47XX_GPIO_LED(7, "unk", "connected", 0, LEDS_GPIO_DEFSTATE_OFF),
359 +};
360 +
361 +/* SimpleTech */
362 +
363 +static const struct gpio_led
364 +bcm47xx_leds_simpletech_simpleshare[] __initconst = {
365 + BCM47XX_GPIO_LED(1, "unk", "status", 1, LEDS_GPIO_DEFSTATE_OFF), /* "Ready" LED */
366 +};
367 +
368 +/**************************************************
369 + * Init
370 + **************************************************/
371 +
372 static struct gpio_led_platform_data bcm47xx_leds_pdata;
373
374 #define bcm47xx_set_pdata(dev_leds) do { \
375 @@ -61,9 +407,157 @@ void __init bcm47xx_leds_register(void)
376 enum bcm47xx_board board = bcm47xx_board_get();
377
378 switch (board) {
379 + case BCM47XX_BOARD_ASUS_RTN12:
380 + bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12);
381 + break;
382 + case BCM47XX_BOARD_ASUS_RTN16:
383 + bcm47xx_set_pdata(bcm47xx_leds_asus_rtn16);
384 + break;
385 + case BCM47XX_BOARD_ASUS_RTN66U:
386 + bcm47xx_set_pdata(bcm47xx_leds_asus_rtn66u);
387 + break;
388 + case BCM47XX_BOARD_ASUS_WL300G:
389 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl300g);
390 + break;
391 + case BCM47XX_BOARD_ASUS_WL320GE:
392 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl320ge);
393 + break;
394 + case BCM47XX_BOARD_ASUS_WL330GE:
395 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl330ge);
396 + break;
397 + case BCM47XX_BOARD_ASUS_WL500GD:
398 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gd);
399 + break;
400 + case BCM47XX_BOARD_ASUS_WL500GPV1:
401 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv1);
402 + break;
403 + case BCM47XX_BOARD_ASUS_WL500GPV2:
404 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv2);
405 + break;
406 + case BCM47XX_BOARD_ASUS_WL500W:
407 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl500w);
408 + break;
409 + case BCM47XX_BOARD_ASUS_WL520GC:
410 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gc);
411 + break;
412 + case BCM47XX_BOARD_ASUS_WL520GU:
413 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gu);
414 + break;
415 + case BCM47XX_BOARD_ASUS_WL700GE:
416 + bcm47xx_set_pdata(bcm47xx_leds_asus_wl700ge);
417 + break;
418 + case BCM47XX_BOARD_ASUS_WLHDD:
419 + bcm47xx_set_pdata(bcm47xx_leds_asus_wlhdd);
420 + break;
421 +
422 + case BCM47XX_BOARD_BELKIN_F7D4301:
423 + bcm47xx_set_pdata(bcm47xx_leds_belkin_f7d4301);
424 + break;
425 +
426 + case BCM47XX_BOARD_BUFFALO_WHR2_A54G54:
427 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr2_a54g54);
428 + break;
429 + case BCM47XX_BOARD_BUFFALO_WHR_G125:
430 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g125);
431 + break;
432 + case BCM47XX_BOARD_BUFFALO_WHR_G54S:
433 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g54s);
434 + break;
435 + case BCM47XX_BOARD_BUFFALO_WHR_HP_G54:
436 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_hp_g54);
437 + break;
438 + case BCM47XX_BOARD_BUFFALO_WZR_G300N:
439 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_g300n);
440 + break;
441 + case BCM47XX_BOARD_BUFFALO_WZR_RS_G54:
442 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54);
443 + break;
444 + case BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP:
445 + bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54hp);
446 + break;
447 +
448 + case BCM47XX_BOARD_DELL_TM2300:
449 + bcm47xx_set_pdata(bcm47xx_leds_dell_tm2300);
450 + break;
451 +
452 + case BCM47XX_BOARD_DLINK_DIR130:
453 + bcm47xx_set_pdata(bcm47xx_leds_dlink_dir130);
454 + break;
455 + case BCM47XX_BOARD_DLINK_DIR330:
456 + bcm47xx_set_pdata(bcm47xx_leds_dlink_dir330);
457 + break;
458 +
459 + case BCM47XX_BOARD_HUAWEI_E970:
460 + bcm47xx_set_pdata(bcm47xx_leds_huawei_e970);
461 + break;
462 +
463 + case BCM47XX_BOARD_LINKSYS_E1000V1:
464 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v1);
465 + break;
466 + case BCM47XX_BOARD_LINKSYS_E1000V21:
467 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v21);
468 + break;
469 + case BCM47XX_BOARD_LINKSYS_E2000V1:
470 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e2000v1);
471 + break;
472 + case BCM47XX_BOARD_LINKSYS_E3000V1:
473 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e3000v1);
474 + break;
475 + case BCM47XX_BOARD_LINKSYS_E3200V1:
476 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e3200v1);
477 + break;
478 + case BCM47XX_BOARD_LINKSYS_E4200V1:
479 + bcm47xx_set_pdata(bcm47xx_leds_linksys_e4200v1);
480 + break;
481 + case BCM47XX_BOARD_LINKSYS_WRT150NV1:
482 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv1);
483 + break;
484 + case BCM47XX_BOARD_LINKSYS_WRT150NV11:
485 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv11);
486 + break;
487 + case BCM47XX_BOARD_LINKSYS_WRT160NV1:
488 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv1);
489 + break;
490 + case BCM47XX_BOARD_LINKSYS_WRT160NV3:
491 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3);
492 + break;
493 + case BCM47XX_BOARD_LINKSYS_WRT300NV11:
494 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
495 + break;
496 + case BCM47XX_BOARD_LINKSYS_WRT310NV1:
497 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt310nv1);
498 + break;
499 + case BCM47XX_BOARD_LINKSYS_WRT610NV1:
500 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv1);
501 + break;
502 + case BCM47XX_BOARD_LINKSYS_WRT610NV2:
503 + bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv2);
504 + break;
505 +
506 + case BCM47XX_BOARD_MOTOROLA_WE800G:
507 + bcm47xx_set_pdata(bcm47xx_leds_motorola_we800g);
508 + break;
509 + case BCM47XX_BOARD_MOTOROLA_WR850GP:
510 + bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gp);
511 + break;
512 + case BCM47XX_BOARD_MOTOROLA_WR850GV2V3:
513 + bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gv2v3);
514 + break;
515 +
516 + case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
517 + bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr3400v1);
518 + break;
519 case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
520 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500_v1_leds);
521 break;
522 + case BCM47XX_BOARD_NETGEAR_WNR834BV2:
523 + bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);
524 + break;
525 +
526 + case BCM47XX_BOARD_SIMPLETECH_SIMPLESHARE:
527 + bcm47xx_set_pdata(bcm47xx_leds_simpletech_simpleshare);
528 + break;
529 +
530 default:
531 pr_debug("No LEDs configuration found for this device\n");
532 return;