brcm47xx: add new led and button support
[openwrt.git] / target / linux / brcm47xx / patches-3.10 / 125-MIPS-BCM47XX-Convert-WNDR4500-to-new-syntax.patch
1 From 2d842783d4aaa25803e92f663869ea64a4eddd00 Mon Sep 17 00:00:00 2001
2 From: Rafa? Mi?ecki <zajec5@gmail.com>
3 Date: Fri, 3 Jan 2014 09:37:42 +0100
4 Subject: [PATCH] MIPS: BCM47XX: Convert WNDR4500 to new syntax
5
6 Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
7 ---
8  arch/mips/bcm47xx/buttons.c |   22 ++++--------------
9  arch/mips/bcm47xx/leds.c    |   53 ++++++++-----------------------------------
10  2 files changed, 14 insertions(+), 61 deletions(-)
11
12 --- a/arch/mips/bcm47xx/buttons.c
13 +++ b/arch/mips/bcm47xx/buttons.c
14 @@ -304,22 +304,10 @@ bcm47xx_buttons_netgear_wndr3700v3[] __i
15  };
16  
17  static const struct gpio_keys_button
18 -bcm47xx_buttons_netgear_wndr4500_v1[] __initconst = {
19 -       {
20 -               .code           = KEY_WPS_BUTTON,
21 -               .gpio           = 4,
22 -               .active_low     = 1,
23 -       },
24 -       {
25 -               .code           = KEY_RFKILL,
26 -               .gpio           = 5,
27 -               .active_low     = 1,
28 -       },
29 -       {
30 -               .code           = KEY_RESTART,
31 -               .gpio           = 6,
32 -               .active_low     = 1,
33 -       },
34 +bcm47xx_buttons_netgear_wndr4500v1[] __initconst = {
35 +       BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
36 +       BCM47XX_GPIO_KEY(5, KEY_RFKILL),
37 +       BCM47XX_GPIO_KEY(6, KEY_RESTART),
38  };
39  
40  static const struct gpio_keys_button
41 @@ -515,7 +503,7 @@ int __init bcm47xx_buttons_register(void
42                 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
43                 break;
44         case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
45 -               err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500_v1);
46 +               err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500v1);
47                 break;
48         case BCM47XX_BOARD_NETGEAR_WNR834BV2:
49                 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2);
50 --- a/arch/mips/bcm47xx/leds.c
51 +++ b/arch/mips/bcm47xx/leds.c
52 @@ -332,49 +332,14 @@ bcm47xx_leds_netgear_wndr3400v1[] __init
53  };
54  
55  static const struct gpio_led
56 -bcm47xx_leds_netgear_wndr4500_v1_leds[] __initconst = {
57 -       {
58 -               .name           = "bcm47xx:green:wps",
59 -               .gpio           = 1,
60 -               .active_low     = 1,
61 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
62 -       },
63 -       {
64 -               .name           = "bcm47xx:green:power",
65 -               .gpio           = 2,
66 -               .active_low     = 1,
67 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
68 -       },
69 -       {
70 -               .name           = "bcm47xx:orange:power",
71 -               .gpio           = 3,
72 -               .active_low     = 1,
73 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
74 -       },
75 -       {
76 -               .name           = "bcm47xx:green:usb1",
77 -               .gpio           = 8,
78 -               .active_low     = 1,
79 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
80 -       },
81 -       {
82 -               .name           = "bcm47xx:green:2ghz",
83 -               .gpio           = 9,
84 -               .active_low     = 1,
85 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
86 -       },
87 -       {
88 -               .name           = "bcm47xx:blue:5ghz",
89 -               .gpio           = 11,
90 -               .active_low     = 1,
91 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
92 -       },
93 -       {
94 -               .name           = "bcm47xx:green:usb2",
95 -               .gpio           = 14,
96 -               .active_low     = 1,
97 -               .default_state  = LEDS_GPIO_DEFSTATE_KEEP,
98 -       },
99 +bcm47xx_leds_netgear_wndr4500v1[] __initconst = {
100 +       BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
101 +       BCM47XX_GPIO_LED(2, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
102 +       BCM47XX_GPIO_LED(3, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
103 +       BCM47XX_GPIO_LED(8, "green", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
104 +       BCM47XX_GPIO_LED(9, "green", "2ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
105 +       BCM47XX_GPIO_LED(11, "blue", "5ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
106 +       BCM47XX_GPIO_LED(14, "green", "usb2", 1, LEDS_GPIO_DEFSTATE_OFF),
107  };
108  
109  static const struct gpio_led
110 @@ -548,7 +513,7 @@ void __init bcm47xx_leds_register(void)
111                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr3400v1);
112                 break;
113         case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
114 -               bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500_v1_leds);
115 +               bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500v1);
116                 break;
117         case BCM47XX_BOARD_NETGEAR_WNR834BV2:
118                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);