]>
Commit | Line | Data |
---|---|---|
515fa75d RM |
1 | #include "bcm47xx_private.h" |
2 | ||
3 | #include <linux/leds.h> | |
4 | #include <bcm47xx_board.h> | |
5 | ||
6 | static const struct gpio_led | |
7 | bcm47xx_leds_netgear_wndr4500_v1_leds[] __initconst = { | |
8 | { | |
9 | .name = "bcm47xx:green:wps", | |
10 | .gpio = 1, | |
11 | .active_low = 1, | |
12 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
13 | }, | |
14 | { | |
15 | .name = "bcm47xx:green:power", | |
16 | .gpio = 2, | |
17 | .active_low = 1, | |
18 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
19 | }, | |
20 | { | |
21 | .name = "bcm47xx:orange:power", | |
22 | .gpio = 3, | |
23 | .active_low = 1, | |
24 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
25 | }, | |
26 | { | |
27 | .name = "bcm47xx:green:usb1", | |
28 | .gpio = 8, | |
29 | .active_low = 1, | |
30 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
31 | }, | |
32 | { | |
33 | .name = "bcm47xx:green:2ghz", | |
34 | .gpio = 9, | |
35 | .active_low = 1, | |
36 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
37 | }, | |
38 | { | |
39 | .name = "bcm47xx:blue:5ghz", | |
40 | .gpio = 11, | |
41 | .active_low = 1, | |
42 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
43 | }, | |
44 | { | |
45 | .name = "bcm47xx:green:usb2", | |
46 | .gpio = 14, | |
47 | .active_low = 1, | |
48 | .default_state = LEDS_GPIO_DEFSTATE_KEEP, | |
49 | }, | |
50 | }; | |
51 | ||
52 | static struct gpio_led_platform_data bcm47xx_leds_pdata; | |
53 | ||
54 | #define bcm47xx_set_pdata(dev_leds) do { \ | |
55 | bcm47xx_leds_pdata.leds = dev_leds; \ | |
56 | bcm47xx_leds_pdata.num_leds = ARRAY_SIZE(dev_leds); \ | |
57 | } while (0) | |
58 | ||
59 | void __init bcm47xx_leds_register(void) | |
60 | { | |
61 | enum bcm47xx_board board = bcm47xx_board_get(); | |
62 | ||
63 | switch (board) { | |
64 | case BCM47XX_BOARD_NETGEAR_WNDR4500V1: | |
65 | bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500_v1_leds); | |
66 | break; | |
67 | default: | |
68 | pr_debug("No LEDs configuration found for this device\n"); | |
69 | return; | |
70 | } | |
71 | ||
72 | gpio_led_register_device(-1, &bcm47xx_leds_pdata); | |
73 | } |