e445a0cc1412111aa3368740ad3f63c37b84537e
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.10 / 122-MIPS-BCM47XX-Import-buttons-database-from-OpenWrt.patch
1 From 12dacbcfa86048cc0810fc6b91b3d7329722e59b Mon Sep 17 00:00:00 2001
2 From: Rafa? Mi?ecki <zajec5@gmail.com>
3 Date: Thu, 2 Jan 2014 13:37:56 +0100
4 Subject: [PATCH 031/110] MIPS: BCM47XX: Import buttons database from OpenWrt
5
6 This includes all devices from OpenWrt's "diag" that we support in arch
7 code (we have entries for in enum bcm47xx_board).
8
9 Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
10 Acked-by: John Crispin <blogic@openwrt.org>
11 Patchwork: http://patchwork.linux-mips.org/patch/6301/
12 ---
13 arch/mips/bcm47xx/buttons.c | 456 +++++++++++++++++++++++++++++++++++++++++++
14 1 file changed, 456 insertions(+)
15
16 --- a/arch/mips/bcm47xx/buttons.c
17 +++ b/arch/mips/bcm47xx/buttons.c
18 @@ -11,6 +11,299 @@
19 * Database
20 **************************************************/
21
22 +#define BCM47XX_GPIO_KEY(_gpio, _code) \
23 + { \
24 + .code = _code, \
25 + .gpio = _gpio, \
26 + .active_low = 1, \
27 + }
28 +
29 +/* Asus */
30 +
31 +static const struct gpio_keys_button
32 +bcm47xx_buttons_asus_rtn12[] __initconst = {
33 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
34 + BCM47XX_GPIO_KEY(1, KEY_RESTART),
35 + BCM47XX_GPIO_KEY(4, BTN_0), /* Router mode */
36 + BCM47XX_GPIO_KEY(5, BTN_1), /* Repeater mode */
37 + BCM47XX_GPIO_KEY(6, BTN_2), /* AP mode */
38 +};
39 +
40 +static const struct gpio_keys_button
41 +bcm47xx_buttons_asus_rtn16[] __initconst = {
42 + BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
43 + BCM47XX_GPIO_KEY(8, KEY_RESTART),
44 +};
45 +
46 +static const struct gpio_keys_button
47 +bcm47xx_buttons_asus_rtn66u[] __initconst = {
48 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
49 + BCM47XX_GPIO_KEY(9, KEY_RESTART),
50 +};
51 +
52 +static const struct gpio_keys_button
53 +bcm47xx_buttons_asus_wl300g[] __initconst = {
54 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
55 +};
56 +
57 +static const struct gpio_keys_button
58 +bcm47xx_buttons_asus_wl320ge[] __initconst = {
59 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
60 +};
61 +
62 +static const struct gpio_keys_button
63 +bcm47xx_buttons_asus_wl330ge[] __initconst = {
64 + BCM47XX_GPIO_KEY(2, KEY_RESTART),
65 +};
66 +
67 +static const struct gpio_keys_button
68 +bcm47xx_buttons_asus_wl500gd[] __initconst = {
69 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
70 +};
71 +
72 +static const struct gpio_keys_button
73 +bcm47xx_buttons_asus_wl500gpv1[] __initconst = {
74 + BCM47XX_GPIO_KEY(0, KEY_RESTART),
75 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
76 +};
77 +
78 +static const struct gpio_keys_button
79 +bcm47xx_buttons_asus_wl500gpv2[] __initconst = {
80 + BCM47XX_GPIO_KEY(2, KEY_RESTART),
81 + BCM47XX_GPIO_KEY(3, KEY_WPS_BUTTON),
82 +};
83 +
84 +static const struct gpio_keys_button
85 +bcm47xx_buttons_asus_wl500w[] __initconst = {
86 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
87 + BCM47XX_GPIO_KEY(7, KEY_WPS_BUTTON),
88 +};
89 +
90 +static const struct gpio_keys_button
91 +bcm47xx_buttons_asus_wl520gc[] __initconst = {
92 + BCM47XX_GPIO_KEY(2, KEY_RESTART),
93 + BCM47XX_GPIO_KEY(3, KEY_WPS_BUTTON),
94 +};
95 +
96 +static const struct gpio_keys_button
97 +bcm47xx_buttons_asus_wl520gu[] __initconst = {
98 + BCM47XX_GPIO_KEY(2, KEY_RESTART),
99 + BCM47XX_GPIO_KEY(3, KEY_WPS_BUTTON),
100 +};
101 +
102 +static const struct gpio_keys_button
103 +bcm47xx_buttons_asus_wl700ge[] __initconst = {
104 + BCM47XX_GPIO_KEY(0, KEY_POWER), /* Hard disk power switch */
105 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), /* EZSetup */
106 + BCM47XX_GPIO_KEY(6, KEY_COPY), /* Copy data from USB to internal disk */
107 + BCM47XX_GPIO_KEY(7, KEY_RESTART), /* Hard reset */
108 +};
109 +
110 +static const struct gpio_keys_button
111 +bcm47xx_buttons_asus_wlhdd[] __initconst = {
112 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
113 +};
114 +
115 +/* Huawei */
116 +
117 +static const struct gpio_keys_button
118 +bcm47xx_buttons_huawei_e970[] __initconst = {
119 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
120 +};
121 +
122 +/* Belkin */
123 +
124 +static const struct gpio_keys_button
125 +bcm47xx_buttons_belkin_f7d4301[] __initconst = {
126 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
127 + BCM47XX_GPIO_KEY(8, KEY_WPS_BUTTON),
128 +};
129 +
130 +/* Buffalo */
131 +
132 +static const struct gpio_keys_button
133 +bcm47xx_buttons_buffalo_whr2_a54g54[] __initconst = {
134 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
135 +};
136 +
137 +static const struct gpio_keys_button
138 +bcm47xx_buttons_buffalo_whr_g125[] __initconst = {
139 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
140 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
141 + BCM47XX_GPIO_KEY(5, BTN_0), /* Router / AP mode swtich */
142 +};
143 +
144 +static const struct gpio_keys_button
145 +bcm47xx_buttons_buffalo_whr_g54s[] __initconst = {
146 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
147 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
148 + BCM47XX_GPIO_KEY(5, BTN_0), /* Router / AP mode swtich */
149 +};
150 +
151 +static const struct gpio_keys_button
152 +bcm47xx_buttons_buffalo_whr_hp_g54[] __initconst = {
153 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
154 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
155 + BCM47XX_GPIO_KEY(5, BTN_0), /* Router / AP mode swtich */
156 +};
157 +
158 +static const struct gpio_keys_button
159 +bcm47xx_buttons_buffalo_wzr_g300n[] __initconst = {
160 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
161 +};
162 +
163 +static const struct gpio_keys_button
164 +bcm47xx_buttons_buffalo_wzr_rs_g54[] __initconst = {
165 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
166 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
167 +};
168 +
169 +static const struct gpio_keys_button
170 +bcm47xx_buttons_buffalo_wzr_rs_g54hp[] __initconst = {
171 + BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
172 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
173 +};
174 +
175 +/* Dell */
176 +
177 +static const struct gpio_keys_button
178 +bcm47xx_buttons_dell_tm2300[] __initconst = {
179 + BCM47XX_GPIO_KEY(0, KEY_RESTART),
180 +};
181 +
182 +/* D-Link */
183 +
184 +static const struct gpio_keys_button
185 +bcm47xx_buttons_dlink_dir130[] __initconst = {
186 + BCM47XX_GPIO_KEY(3, KEY_RESTART),
187 + BCM47XX_GPIO_KEY(7, KEY_UNKNOWN),
188 +};
189 +
190 +static const struct gpio_keys_button
191 +bcm47xx_buttons_dlink_dir330[] __initconst = {
192 + BCM47XX_GPIO_KEY(3, KEY_RESTART),
193 + BCM47XX_GPIO_KEY(7, KEY_UNKNOWN),
194 +};
195 +
196 +/* Linksys */
197 +
198 +static const struct gpio_keys_button
199 +bcm47xx_buttons_linksys_e1000v1[] __initconst = {
200 + BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON),
201 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
202 +};
203 +
204 +static const struct gpio_keys_button
205 +bcm47xx_buttons_linksys_e1000v21[] __initconst = {
206 + BCM47XX_GPIO_KEY(9, KEY_WPS_BUTTON),
207 + BCM47XX_GPIO_KEY(10, KEY_RESTART),
208 +};
209 +
210 +static const struct gpio_keys_button
211 +bcm47xx_buttons_linksys_e2000v1[] __initconst = {
212 + BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON),
213 + BCM47XX_GPIO_KEY(8, KEY_RESTART),
214 +};
215 +
216 +static const struct gpio_keys_button
217 +bcm47xx_buttons_linksys_e3000v1[] __initconst = {
218 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
219 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
220 +};
221 +
222 +static const struct gpio_keys_button
223 +bcm47xx_buttons_linksys_e3200v1[] __initconst = {
224 + BCM47XX_GPIO_KEY(5, KEY_RESTART),
225 + BCM47XX_GPIO_KEY(8, KEY_WPS_BUTTON),
226 +};
227 +
228 +static const struct gpio_keys_button
229 +bcm47xx_buttons_linksys_e4200v1[] __initconst = {
230 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
231 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
232 +};
233 +
234 +static const struct gpio_keys_button
235 +bcm47xx_buttons_linksys_wrt150nv1[] __initconst = {
236 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
237 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
238 +};
239 +
240 +static const struct gpio_keys_button
241 +bcm47xx_buttons_linksys_wrt150nv11[] __initconst = {
242 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
243 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
244 +};
245 +
246 +static const struct gpio_keys_button
247 +bcm47xx_buttons_linksys_wrt160nv1[] __initconst = {
248 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
249 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
250 +};
251 +
252 +static const struct gpio_keys_button
253 +bcm47xx_buttons_linksys_wrt160nv3[] __initconst = {
254 + BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON),
255 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
256 +};
257 +
258 +static const struct gpio_keys_button
259 +bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
260 + BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
261 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
262 +};
263 +
264 +static const struct gpio_keys_button
265 +bcm47xx_buttons_linksys_wrt310nv1[] __initconst = {
266 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
267 + BCM47XX_GPIO_KEY(8, KEY_UNKNOWN),
268 +};
269 +
270 +static const struct gpio_keys_button
271 +bcm47xx_buttons_linksys_wrt610nv1[] __initconst = {
272 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
273 + BCM47XX_GPIO_KEY(8, KEY_WPS_BUTTON),
274 +};
275 +
276 +static const struct gpio_keys_button
277 +bcm47xx_buttons_linksys_wrt610nv2[] __initconst = {
278 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
279 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
280 +};
281 +
282 +/* Motorola */
283 +
284 +static const struct gpio_keys_button
285 +bcm47xx_buttons_motorola_we800g[] __initconst = {
286 + BCM47XX_GPIO_KEY(0, KEY_RESTART),
287 +};
288 +
289 +static const struct gpio_keys_button
290 +bcm47xx_buttons_motorola_wr850gp[] __initconst = {
291 + BCM47XX_GPIO_KEY(5, KEY_RESTART),
292 +};
293 +
294 +static const struct gpio_keys_button
295 +bcm47xx_buttons_motorola_wr850gv2v3[] __initconst = {
296 + BCM47XX_GPIO_KEY(5, KEY_RESTART),
297 +};
298 +
299 +/* Netgear */
300 +
301 +static const struct gpio_keys_button
302 +bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
303 + BCM47XX_GPIO_KEY(4, KEY_RESTART),
304 + BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
305 + BCM47XX_GPIO_KEY(8, KEY_RFKILL),
306 +};
307 +
308 +static const struct gpio_keys_button
309 +bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
310 + BCM47XX_GPIO_KEY(2, KEY_RFKILL),
311 + BCM47XX_GPIO_KEY(3, KEY_RESTART),
312 + BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
313 +};
314 +
315 static const struct gpio_keys_button
316 bcm47xx_buttons_netgear_wndr4500_v1[] __initconst = {
317 {
318 @@ -30,6 +323,18 @@ bcm47xx_buttons_netgear_wndr4500_v1[] __
319 },
320 };
321
322 +static const struct gpio_keys_button
323 +bcm47xx_buttons_netgear_wnr834bv2[] __initconst = {
324 + BCM47XX_GPIO_KEY(6, KEY_RESTART),
325 +};
326 +
327 +/* SimpleTech */
328 +
329 +static const struct gpio_keys_button
330 +bcm47xx_buttons_simpletech_simpleshare[] __initconst = {
331 + BCM47XX_GPIO_KEY(0, KEY_RESTART),
332 +};
333 +
334 /**************************************************
335 * Init
336 **************************************************/
337 @@ -74,9 +379,160 @@ int __init bcm47xx_buttons_register(void
338 #endif
339
340 switch (board) {
341 + case BCM47XX_BOARD_ASUS_RTN12:
342 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn12);
343 + break;
344 + case BCM47XX_BOARD_ASUS_RTN16:
345 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn16);
346 + break;
347 + case BCM47XX_BOARD_ASUS_RTN66U:
348 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn66u);
349 + break;
350 + case BCM47XX_BOARD_ASUS_WL300G:
351 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl300g);
352 + break;
353 + case BCM47XX_BOARD_ASUS_WL320GE:
354 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl320ge);
355 + break;
356 + case BCM47XX_BOARD_ASUS_WL330GE:
357 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl330ge);
358 + break;
359 + case BCM47XX_BOARD_ASUS_WL500GD:
360 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl500gd);
361 + break;
362 + case BCM47XX_BOARD_ASUS_WL500GPV1:
363 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl500gpv1);
364 + break;
365 + case BCM47XX_BOARD_ASUS_WL500GPV2:
366 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl500gpv2);
367 + break;
368 + case BCM47XX_BOARD_ASUS_WL500W:
369 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl500w);
370 + break;
371 + case BCM47XX_BOARD_ASUS_WL520GC:
372 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl520gc);
373 + break;
374 + case BCM47XX_BOARD_ASUS_WL520GU:
375 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl520gu);
376 + break;
377 + case BCM47XX_BOARD_ASUS_WL700GE:
378 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wl700ge);
379 + break;
380 + case BCM47XX_BOARD_ASUS_WLHDD:
381 + err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_wlhdd);
382 + break;
383 +
384 + case BCM47XX_BOARD_BELKIN_F7D4301:
385 + err = bcm47xx_copy_bdata(bcm47xx_buttons_belkin_f7d4301);
386 + break;
387 +
388 + case BCM47XX_BOARD_BUFFALO_WHR2_A54G54:
389 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_whr2_a54g54);
390 + break;
391 + case BCM47XX_BOARD_BUFFALO_WHR_G125:
392 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_whr_g125);
393 + break;
394 + case BCM47XX_BOARD_BUFFALO_WHR_G54S:
395 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_whr_g54s);
396 + break;
397 + case BCM47XX_BOARD_BUFFALO_WHR_HP_G54:
398 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_whr_hp_g54);
399 + break;
400 + case BCM47XX_BOARD_BUFFALO_WZR_G300N:
401 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_wzr_g300n);
402 + break;
403 + case BCM47XX_BOARD_BUFFALO_WZR_RS_G54:
404 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_wzr_rs_g54);
405 + break;
406 + case BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP:
407 + err = bcm47xx_copy_bdata(bcm47xx_buttons_buffalo_wzr_rs_g54hp);
408 + break;
409 +
410 + case BCM47XX_BOARD_DELL_TM2300:
411 + err = bcm47xx_copy_bdata(bcm47xx_buttons_dell_tm2300);
412 + break;
413 +
414 + case BCM47XX_BOARD_DLINK_DIR130:
415 + err = bcm47xx_copy_bdata(bcm47xx_buttons_dlink_dir130);
416 + break;
417 + case BCM47XX_BOARD_DLINK_DIR330:
418 + err = bcm47xx_copy_bdata(bcm47xx_buttons_dlink_dir330);
419 + break;
420 +
421 + case BCM47XX_BOARD_HUAWEI_E970:
422 + err = bcm47xx_copy_bdata(bcm47xx_buttons_huawei_e970);
423 + break;
424 +
425 + case BCM47XX_BOARD_LINKSYS_E1000V1:
426 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e1000v1);
427 + break;
428 + case BCM47XX_BOARD_LINKSYS_E1000V21:
429 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e1000v21);
430 + break;
431 + case BCM47XX_BOARD_LINKSYS_E2000V1:
432 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e2000v1);
433 + break;
434 + case BCM47XX_BOARD_LINKSYS_E3000V1:
435 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e3000v1);
436 + break;
437 + case BCM47XX_BOARD_LINKSYS_E3200V1:
438 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e3200v1);
439 + break;
440 + case BCM47XX_BOARD_LINKSYS_E4200V1:
441 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e4200v1);
442 + break;
443 + case BCM47XX_BOARD_LINKSYS_WRT150NV1:
444 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt150nv1);
445 + break;
446 + case BCM47XX_BOARD_LINKSYS_WRT150NV11:
447 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt150nv11);
448 + break;
449 + case BCM47XX_BOARD_LINKSYS_WRT160NV1:
450 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv1);
451 + break;
452 + case BCM47XX_BOARD_LINKSYS_WRT160NV3:
453 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
454 + break;
455 + case BCM47XX_BOARD_LINKSYS_WRT300NV11:
456 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
457 + break;
458 + case BCM47XX_BOARD_LINKSYS_WRT310NV1:
459 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1);
460 + break;
461 + case BCM47XX_BOARD_LINKSYS_WRT610NV1:
462 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv1);
463 + break;
464 + case BCM47XX_BOARD_LINKSYS_WRT610NV2:
465 + err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv2);
466 + break;
467 +
468 + case BCM47XX_BOARD_MOTOROLA_WE800G:
469 + err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_we800g);
470 + break;
471 + case BCM47XX_BOARD_MOTOROLA_WR850GP:
472 + err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gp);
473 + break;
474 + case BCM47XX_BOARD_MOTOROLA_WR850GV2V3:
475 + err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gv2v3);
476 + break;
477 +
478 + case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
479 + err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
480 + break;
481 + case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
482 + err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
483 + break;
484 case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
485 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500_v1);
486 break;
487 + case BCM47XX_BOARD_NETGEAR_WNR834BV2:
488 + err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2);
489 + break;
490 +
491 + case BCM47XX_BOARD_SIMPLETECH_SIMPLESHARE:
492 + err = bcm47xx_copy_bdata(bcm47xx_buttons_simpletech_simpleshare);
493 + break;
494 +
495 default:
496 pr_debug("No buttons configuration found for this device\n");
497 return -ENOTSUPP;