root/arch/mips/bcm47xx/leds.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. bcm47xx_leds_register

   1 // SPDX-License-Identifier: GPL-2.0
   2 #include "bcm47xx_private.h"
   3 
   4 #include <linux/leds.h>
   5 #include <bcm47xx_board.h>
   6 
   7 /**************************************************
   8  * Database
   9  **************************************************/
  10 
  11 #define BCM47XX_GPIO_LED(_gpio, _color, _function, _active_low,         \
  12                          _default_state)                                \
  13         {                                                               \
  14                 .name           = "bcm47xx:" _color ":" _function,      \
  15                 .gpio           = _gpio,                                \
  16                 .active_low     = _active_low,                          \
  17                 .default_state  = _default_state,                       \
  18         }
  19 
  20 #define BCM47XX_GPIO_LED_TRIGGER(_gpio, _color, _function, _active_low, \
  21                                  _default_trigger)                      \
  22         {                                                               \
  23                 .name           = "bcm47xx:" _color ":" _function,      \
  24                 .gpio           = _gpio,                                \
  25                 .active_low     = _active_low,                          \
  26                 .default_state  = LEDS_GPIO_DEFSTATE_OFF,               \
  27                 .default_trigger        = _default_trigger,             \
  28         }
  29 
  30 /* Asus */
  31 
  32 static const struct gpio_led
  33 bcm47xx_leds_asus_rtn12[] __initconst = {
  34         BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  35         BCM47XX_GPIO_LED(7, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
  36 };
  37 
  38 static const struct gpio_led
  39 bcm47xx_leds_asus_rtn15u[] __initconst = {
  40         /* TODO: Add "wlan" LED */
  41         BCM47XX_GPIO_LED(3, "blue", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
  42         BCM47XX_GPIO_LED(4, "blue", "lan", 1, LEDS_GPIO_DEFSTATE_OFF),
  43         BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  44         BCM47XX_GPIO_LED(9, "blue", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
  45 };
  46 
  47 static const struct gpio_led
  48 bcm47xx_leds_asus_rtn16[] __initconst = {
  49         BCM47XX_GPIO_LED(1, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  50         BCM47XX_GPIO_LED(7, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
  51 };
  52 
  53 static const struct gpio_led
  54 bcm47xx_leds_asus_rtn66u[] __initconst = {
  55         BCM47XX_GPIO_LED(12, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  56         BCM47XX_GPIO_LED(15, "blue", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
  57 };
  58 
  59 static const struct gpio_led
  60 bcm47xx_leds_asus_wl300g[] __initconst = {
  61         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  62 };
  63 
  64 static const struct gpio_led
  65 bcm47xx_leds_asus_wl320ge[] __initconst = {
  66         BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
  67         BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  68         BCM47XX_GPIO_LED(11, "unk", "link", 1, LEDS_GPIO_DEFSTATE_OFF),
  69 };
  70 
  71 static const struct gpio_led
  72 bcm47xx_leds_asus_wl330ge[] __initconst = {
  73         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  74 };
  75 
  76 static const struct gpio_led
  77 bcm47xx_leds_asus_wl500g[] __initconst = {
  78         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  79 };
  80 
  81 static const struct gpio_led
  82 bcm47xx_leds_asus_wl500gd[] __initconst = {
  83         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  84 };
  85 
  86 static const struct gpio_led
  87 bcm47xx_leds_asus_wl500gpv1[] __initconst = {
  88         BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  89 };
  90 
  91 static const struct gpio_led
  92 bcm47xx_leds_asus_wl500gpv2[] __initconst = {
  93         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
  94         BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
  95 };
  96 
  97 static const struct gpio_led
  98 bcm47xx_leds_asus_wl500w[] __initconst = {
  99         BCM47XX_GPIO_LED(5, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 100 };
 101 
 102 static const struct gpio_led
 103 bcm47xx_leds_asus_wl520gc[] __initconst = {
 104         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 105         BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 106 };
 107 
 108 static const struct gpio_led
 109 bcm47xx_leds_asus_wl520gu[] __initconst = {
 110         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 111         BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 112 };
 113 
 114 static const struct gpio_led
 115 bcm47xx_leds_asus_wl700ge[] __initconst = {
 116         BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), /* Labeled "READY" (there is no "power" LED). Originally ON, flashing on USB activity. */
 117 };
 118 
 119 static const struct gpio_led
 120 bcm47xx_leds_asus_wlhdd[] __initconst = {
 121         BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 122         BCM47XX_GPIO_LED(2, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
 123 };
 124 
 125 /* Belkin */
 126 
 127 static const struct gpio_led
 128 bcm47xx_leds_belkin_f7d4301[] __initconst = {
 129         BCM47XX_GPIO_LED(10, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 130         BCM47XX_GPIO_LED(11, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
 131         BCM47XX_GPIO_LED(12, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 132         BCM47XX_GPIO_LED(13, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 133         BCM47XX_GPIO_LED(14, "unk", "usb0", 1, LEDS_GPIO_DEFSTATE_OFF),
 134         BCM47XX_GPIO_LED(15, "unk", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
 135 };
 136 
 137 /* Buffalo */
 138 
 139 static const struct gpio_led
 140 bcm47xx_leds_buffalo_whr2_a54g54[] __initconst = {
 141         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 142 };
 143 
 144 static const struct gpio_led
 145 bcm47xx_leds_buffalo_whr_g125[] __initconst = {
 146         BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
 147         BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 148         BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
 149         BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 150         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 151 };
 152 
 153 static const struct gpio_led
 154 bcm47xx_leds_buffalo_whr_g54s[] __initconst = {
 155         BCM47XX_GPIO_LED(1, "green", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
 156         BCM47XX_GPIO_LED(2, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 157         BCM47XX_GPIO_LED(3, "green", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
 158         BCM47XX_GPIO_LED(6, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 159         BCM47XX_GPIO_LED(7, "red", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 160 };
 161 
 162 static const struct gpio_led
 163 bcm47xx_leds_buffalo_whr_hp_g54[] __initconst = {
 164         BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
 165         BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 166         BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
 167         BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 168         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 169 };
 170 
 171 static const struct gpio_led
 172 bcm47xx_leds_buffalo_wzr_g300n[] __initconst = {
 173         BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
 174         BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 175         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 176 };
 177 
 178 static const struct gpio_led
 179 bcm47xx_leds_buffalo_wzr_rs_g54[] __initconst = {
 180         BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 181         BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
 182         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 183 };
 184 
 185 static const struct gpio_led
 186 bcm47xx_leds_buffalo_wzr_rs_g54hp[] __initconst = {
 187         BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 188         BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
 189         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 190 };
 191 
 192 /* Dell */
 193 
 194 static const struct gpio_led
 195 bcm47xx_leds_dell_tm2300[] __initconst = {
 196         BCM47XX_GPIO_LED(6, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 197         BCM47XX_GPIO_LED(7, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 198 };
 199 
 200 /* D-Link */
 201 
 202 static const struct gpio_led
 203 bcm47xx_leds_dlink_dir130[] __initconst = {
 204         BCM47XX_GPIO_LED_TRIGGER(0, "green", "status", 1, "timer"), /* Originally blinking when device is ready, separated from "power" LED */
 205         BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
 206 };
 207 
 208 static const struct gpio_led
 209 bcm47xx_leds_dlink_dir330[] __initconst = {
 210         BCM47XX_GPIO_LED_TRIGGER(0, "green", "status", 1, "timer"), /* Originally blinking when device is ready, separated from "power" LED */
 211         BCM47XX_GPIO_LED(4, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
 212         BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
 213 };
 214 
 215 /* Huawei */
 216 
 217 static const struct gpio_led
 218 bcm47xx_leds_huawei_e970[] __initconst = {
 219         BCM47XX_GPIO_LED(0, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 220 };
 221 
 222 /* Linksys */
 223 
 224 static const struct gpio_led
 225 bcm47xx_leds_linksys_e1000v1[] __initconst = {
 226         BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 227         BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 228         BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 229         BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 230 };
 231 
 232 static const struct gpio_led
 233 bcm47xx_leds_linksys_e1000v21[] __initconst = {
 234         BCM47XX_GPIO_LED(5, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 235         BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 236         BCM47XX_GPIO_LED(7, "amber", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
 237         BCM47XX_GPIO_LED(8, "blue", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
 238 };
 239 
 240 static const struct gpio_led
 241 bcm47xx_leds_linksys_e2000v1[] __initconst = {
 242         BCM47XX_GPIO_LED(1, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 243         BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 244         BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 245         BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 246 };
 247 
 248 static const struct gpio_led
 249 bcm47xx_leds_linksys_e3000v1[] __initconst = {
 250         BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 251         BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 252         BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 253         BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 254         BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 255 };
 256 
 257 static const struct gpio_led
 258 bcm47xx_leds_linksys_e3200v1[] __initconst = {
 259         BCM47XX_GPIO_LED(3, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 260 };
 261 
 262 static const struct gpio_led
 263 bcm47xx_leds_linksys_e4200v1[] __initconst = {
 264         BCM47XX_GPIO_LED(5, "white", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 265 };
 266 
 267 static const struct gpio_led
 268 bcm47xx_leds_linksys_wrt150nv1[] __initconst = {
 269         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 270         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 271         BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 272 };
 273 
 274 static const struct gpio_led
 275 bcm47xx_leds_linksys_wrt150nv11[] __initconst = {
 276         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 277         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 278         BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 279 };
 280 
 281 static const struct gpio_led
 282 bcm47xx_leds_linksys_wrt160nv1[] __initconst = {
 283         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 284         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 285         BCM47XX_GPIO_LED(5, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 286 };
 287 
 288 static const struct gpio_led
 289 bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
 290         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 291         BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 292         BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 293 };
 294 
 295 static const struct gpio_led
 296 bcm47xx_leds_linksys_wrt300n_v1[] __initconst = {
 297         BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 298         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 299         BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 300 };
 301 
 302 static const struct gpio_led
 303 bcm47xx_leds_linksys_wrt300nv11[] __initconst = {
 304         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 305         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 306         BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 307 };
 308 
 309 static const struct gpio_led
 310 bcm47xx_leds_linksys_wrt310nv1[] __initconst = {
 311         BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 312         BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 313         BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 314 };
 315 
 316 static const struct gpio_led
 317 bcm47xx_leds_linksys_wrt54g_generic[] __initconst = {
 318         BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 319         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 320         BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 321         BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 322 };
 323 
 324 static const struct gpio_led
 325 bcm47xx_leds_linksys_wrt54g3gv2[] __initconst = {
 326         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 327         BCM47XX_GPIO_LED(2, "green", "3g", 0, LEDS_GPIO_DEFSTATE_OFF),
 328         BCM47XX_GPIO_LED(3, "blue", "3g", 0, LEDS_GPIO_DEFSTATE_OFF),
 329 };
 330 
 331 /* Verified on: WRT54GS V1.0 */
 332 static const struct gpio_led
 333 bcm47xx_leds_linksys_wrt54g_type_0101[] __initconst = {
 334         BCM47XX_GPIO_LED(0, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 335         BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 336         BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 337 };
 338 
 339 /* Verified on: WRT54GL V1.1 */
 340 static const struct gpio_led
 341 bcm47xx_leds_linksys_wrt54g_type_0467[] __initconst = {
 342         BCM47XX_GPIO_LED(0, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 343         BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 344         BCM47XX_GPIO_LED(2, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 345         BCM47XX_GPIO_LED(3, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 346         BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 347 };
 348 
 349 static const struct gpio_led
 350 bcm47xx_leds_linksys_wrt610nv1[] __initconst = {
 351         BCM47XX_GPIO_LED(0, "unk", "usb",  1, LEDS_GPIO_DEFSTATE_OFF),
 352         BCM47XX_GPIO_LED(1, "unk", "power",  0, LEDS_GPIO_DEFSTATE_OFF),
 353         BCM47XX_GPIO_LED(3, "amber", "wps",  1, LEDS_GPIO_DEFSTATE_OFF),
 354         BCM47XX_GPIO_LED(9, "blue", "wps",  1, LEDS_GPIO_DEFSTATE_OFF),
 355 };
 356 
 357 static const struct gpio_led
 358 bcm47xx_leds_linksys_wrt610nv2[] __initconst = {
 359         BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 360         BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 361         BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 362         BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 363         BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 364 };
 365 
 366 static const struct gpio_led
 367 bcm47xx_leds_linksys_wrtsl54gs[] __initconst = {
 368         BCM47XX_GPIO_LED(0, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 369         BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 370         BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 371         BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 372 };
 373 
 374 /* Luxul */
 375 
 376 static const struct gpio_led
 377 bcm47xx_leds_luxul_abr_4400_v1[] __initconst = {
 378         BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 379         BCM47XX_GPIO_LED_TRIGGER(15, "green", "status", 0, "timer"),
 380 };
 381 
 382 static const struct gpio_led
 383 bcm47xx_leds_luxul_xap_310_v1[] __initconst = {
 384         BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
 385 };
 386 
 387 static const struct gpio_led
 388 bcm47xx_leds_luxul_xap_1210_v1[] __initconst = {
 389         BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
 390 };
 391 
 392 static const struct gpio_led
 393 bcm47xx_leds_luxul_xap_1230_v1[] __initconst = {
 394         BCM47XX_GPIO_LED(3, "blue", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 395         BCM47XX_GPIO_LED(4, "green", "bridge", 0, LEDS_GPIO_DEFSTATE_OFF),
 396         BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
 397 };
 398 
 399 static const struct gpio_led
 400 bcm47xx_leds_luxul_xap_1240_v1[] __initconst = {
 401         BCM47XX_GPIO_LED(3, "blue", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 402         BCM47XX_GPIO_LED(4, "green", "bridge", 0, LEDS_GPIO_DEFSTATE_OFF),
 403         BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
 404 };
 405 
 406 static const struct gpio_led
 407 bcm47xx_leds_luxul_xap_1500_v1[] __initconst = {
 408         BCM47XX_GPIO_LED_TRIGGER(13, "green", "status", 1, "timer"),
 409 };
 410 
 411 static const struct gpio_led
 412 bcm47xx_leds_luxul_xap1500_v1_extra[] __initconst = {
 413         BCM47XX_GPIO_LED(44, "green", "5ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 414         BCM47XX_GPIO_LED(76, "green", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 415 };
 416 
 417 static const struct gpio_led
 418 bcm47xx_leds_luxul_xbr_4400_v1[] __initconst = {
 419         BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 420         BCM47XX_GPIO_LED_TRIGGER(15, "green", "status", 0, "timer"),
 421 };
 422 
 423 static const struct gpio_led
 424 bcm47xx_leds_luxul_xvw_p30_v1[] __initconst = {
 425         BCM47XX_GPIO_LED_TRIGGER(0, "blue", "status", 1, "timer"),
 426         BCM47XX_GPIO_LED(1, "green", "link", 1, LEDS_GPIO_DEFSTATE_OFF),
 427 };
 428 
 429 static const struct gpio_led
 430 bcm47xx_leds_luxul_xwr_600_v1[] __initconst = {
 431         BCM47XX_GPIO_LED(3, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
 432         BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
 433         BCM47XX_GPIO_LED(9, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 434 };
 435 
 436 static const struct gpio_led
 437 bcm47xx_leds_luxul_xwr_1750_v1[] __initconst = {
 438         BCM47XX_GPIO_LED(5, "green", "5ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 439         BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
 440         BCM47XX_GPIO_LED_TRIGGER(13, "green", "status", 0, "timer"),
 441         BCM47XX_GPIO_LED(15, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
 442 };
 443 
 444 static const struct gpio_led
 445 bcm47xx_leds_luxul_xwr1750_v1_extra[] __initconst = {
 446         BCM47XX_GPIO_LED(76, "green", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
 447 };
 448 
 449 /* Microsoft */
 450 
 451 static const struct gpio_led
 452 bcm47xx_leds_microsoft_nm700[] __initconst = {
 453         BCM47XX_GPIO_LED(6, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 454 };
 455 
 456 /* Motorola */
 457 
 458 static const struct gpio_led
 459 bcm47xx_leds_motorola_we800g[] __initconst = {
 460         BCM47XX_GPIO_LED(1, "amber", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 461         BCM47XX_GPIO_LED(2, "unk", "unk", 1, LEDS_GPIO_DEFSTATE_OFF), /* There are only 3 LEDs: Power, Wireless and Device (ethernet) */
 462         BCM47XX_GPIO_LED(4, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 463 };
 464 
 465 static const struct gpio_led
 466 bcm47xx_leds_motorola_wr850gp[] __initconst = {
 467         BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 468         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 469         BCM47XX_GPIO_LED(6, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 470         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 471 };
 472 
 473 static const struct gpio_led
 474 bcm47xx_leds_motorola_wr850gv2v3[] __initconst = {
 475         BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 476         BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 477         BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
 478 };
 479 
 480 /* Netgear */
 481 
 482 static const struct gpio_led
 483 bcm47xx_leds_netgear_wndr3400v1[] __initconst = {
 484         BCM47XX_GPIO_LED(2, "green", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
 485         BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 486         BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
 487 };
 488 
 489 static const struct gpio_led
 490 bcm47xx_leds_netgear_wndr4500v1[] __initconst = {
 491         BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 492         BCM47XX_GPIO_LED(2, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 493         BCM47XX_GPIO_LED(3, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
 494         BCM47XX_GPIO_LED(8, "green", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
 495         BCM47XX_GPIO_LED(9, "green", "2ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
 496         BCM47XX_GPIO_LED(11, "blue", "5ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
 497         BCM47XX_GPIO_LED(14, "green", "usb2", 1, LEDS_GPIO_DEFSTATE_OFF),
 498 };
 499 
 500 static const struct gpio_led
 501 bcm47xx_leds_netgear_wnr1000_v3[] __initconst = {
 502         BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
 503         BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
 504 };
 505 
 506 static const struct gpio_led
 507 bcm47xx_leds_netgear_wnr3500lv1[] __initconst = {
 508         BCM47XX_GPIO_LED(0, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 509         BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
 510         BCM47XX_GPIO_LED(2, "green", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
 511         BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 512         BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
 513 };
 514 
 515 static const struct gpio_led
 516 bcm47xx_leds_netgear_wnr834bv2[] __initconst = {
 517         BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
 518         BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
 519         BCM47XX_GPIO_LED(7, "unk", "connected", 0, LEDS_GPIO_DEFSTATE_OFF),
 520 };
 521 
 522 /* Siemens */
 523 static const struct gpio_led
 524 bcm47xx_leds_siemens_se505v2[] __initconst = {
 525         BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
 526         BCM47XX_GPIO_LED(3, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
 527         BCM47XX_GPIO_LED(5, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
 528 };
 529 
 530 /* SimpleTech */
 531 
 532 static const struct gpio_led
 533 bcm47xx_leds_simpletech_simpleshare[] __initconst = {
 534         BCM47XX_GPIO_LED(1, "unk", "status", 1, LEDS_GPIO_DEFSTATE_OFF), /* "Ready" LED */
 535 };
 536 
 537 /**************************************************
 538  * Init
 539  **************************************************/
 540 
 541 static struct gpio_led_platform_data bcm47xx_leds_pdata __initdata;
 542 
 543 #define bcm47xx_set_pdata(dev_leds) do {                                \
 544         bcm47xx_leds_pdata.leds = dev_leds;                             \
 545         bcm47xx_leds_pdata.num_leds = ARRAY_SIZE(dev_leds);             \
 546 } while (0)
 547 
 548 static struct gpio_led_platform_data bcm47xx_leds_pdata_extra __initdata = {};
 549 #define bcm47xx_set_pdata_extra(dev_leds) do {                          \
 550         bcm47xx_leds_pdata_extra.leds = dev_leds;                       \
 551         bcm47xx_leds_pdata_extra.num_leds = ARRAY_SIZE(dev_leds);       \
 552 } while (0)
 553 
 554 void __init bcm47xx_leds_register(void)
 555 {
 556         enum bcm47xx_board board = bcm47xx_board_get();
 557 
 558         switch (board) {
 559         case BCM47XX_BOARD_ASUS_RTN12:
 560                 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12);
 561                 break;
 562         case BCM47XX_BOARD_ASUS_RTN15U:
 563                 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn15u);
 564                 break;
 565         case BCM47XX_BOARD_ASUS_RTN16:
 566                 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn16);
 567                 break;
 568         case BCM47XX_BOARD_ASUS_RTN66U:
 569                 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn66u);
 570                 break;
 571         case BCM47XX_BOARD_ASUS_WL300G:
 572                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl300g);
 573                 break;
 574         case BCM47XX_BOARD_ASUS_WL320GE:
 575                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl320ge);
 576                 break;
 577         case BCM47XX_BOARD_ASUS_WL330GE:
 578                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl330ge);
 579                 break;
 580         case BCM47XX_BOARD_ASUS_WL500G:
 581                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500g);
 582                 break;
 583         case BCM47XX_BOARD_ASUS_WL500GD:
 584                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gd);
 585                 break;
 586         case BCM47XX_BOARD_ASUS_WL500GPV1:
 587                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv1);
 588                 break;
 589         case BCM47XX_BOARD_ASUS_WL500GPV2:
 590                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv2);
 591                 break;
 592         case BCM47XX_BOARD_ASUS_WL500W:
 593                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500w);
 594                 break;
 595         case BCM47XX_BOARD_ASUS_WL520GC:
 596                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gc);
 597                 break;
 598         case BCM47XX_BOARD_ASUS_WL520GU:
 599                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gu);
 600                 break;
 601         case BCM47XX_BOARD_ASUS_WL700GE:
 602                 bcm47xx_set_pdata(bcm47xx_leds_asus_wl700ge);
 603                 break;
 604         case BCM47XX_BOARD_ASUS_WLHDD:
 605                 bcm47xx_set_pdata(bcm47xx_leds_asus_wlhdd);
 606                 break;
 607 
 608         case BCM47XX_BOARD_BELKIN_F7D3301:
 609         case BCM47XX_BOARD_BELKIN_F7D3302:
 610         case BCM47XX_BOARD_BELKIN_F7D4301:
 611         case BCM47XX_BOARD_BELKIN_F7D4302:
 612         case BCM47XX_BOARD_BELKIN_F7D4401:
 613                 bcm47xx_set_pdata(bcm47xx_leds_belkin_f7d4301);
 614                 break;
 615 
 616         case BCM47XX_BOARD_BUFFALO_WHR2_A54G54:
 617                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr2_a54g54);
 618                 break;
 619         case BCM47XX_BOARD_BUFFALO_WHR_G125:
 620                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g125);
 621                 break;
 622         case BCM47XX_BOARD_BUFFALO_WHR_G54S:
 623                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g54s);
 624                 break;
 625         case BCM47XX_BOARD_BUFFALO_WHR_HP_G54:
 626                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_hp_g54);
 627                 break;
 628         case BCM47XX_BOARD_BUFFALO_WZR_G300N:
 629                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_g300n);
 630                 break;
 631         case BCM47XX_BOARD_BUFFALO_WZR_RS_G54:
 632                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54);
 633                 break;
 634         case BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP:
 635                 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54hp);
 636                 break;
 637 
 638         case BCM47XX_BOARD_DELL_TM2300:
 639                 bcm47xx_set_pdata(bcm47xx_leds_dell_tm2300);
 640                 break;
 641 
 642         case BCM47XX_BOARD_DLINK_DIR130:
 643                 bcm47xx_set_pdata(bcm47xx_leds_dlink_dir130);
 644                 break;
 645         case BCM47XX_BOARD_DLINK_DIR330:
 646                 bcm47xx_set_pdata(bcm47xx_leds_dlink_dir330);
 647                 break;
 648 
 649         case BCM47XX_BOARD_HUAWEI_E970:
 650                 bcm47xx_set_pdata(bcm47xx_leds_huawei_e970);
 651                 break;
 652 
 653         case BCM47XX_BOARD_LINKSYS_E1000V1:
 654                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v1);
 655                 break;
 656         case BCM47XX_BOARD_LINKSYS_E1000V21:
 657                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v21);
 658                 break;
 659         case BCM47XX_BOARD_LINKSYS_E2000V1:
 660                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e2000v1);
 661                 break;
 662         case BCM47XX_BOARD_LINKSYS_E3000V1:
 663                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e3000v1);
 664                 break;
 665         case BCM47XX_BOARD_LINKSYS_E3200V1:
 666                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e3200v1);
 667                 break;
 668         case BCM47XX_BOARD_LINKSYS_E4200V1:
 669                 bcm47xx_set_pdata(bcm47xx_leds_linksys_e4200v1);
 670                 break;
 671         case BCM47XX_BOARD_LINKSYS_WRT150NV1:
 672                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv1);
 673                 break;
 674         case BCM47XX_BOARD_LINKSYS_WRT150NV11:
 675                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv11);
 676                 break;
 677         case BCM47XX_BOARD_LINKSYS_WRT160NV1:
 678                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv1);
 679                 break;
 680         case BCM47XX_BOARD_LINKSYS_WRT160NV3:
 681                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3);
 682                 break;
 683         case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
 684                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300n_v1);
 685                 break;
 686         case BCM47XX_BOARD_LINKSYS_WRT300NV11:
 687                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
 688                 break;
 689         case BCM47XX_BOARD_LINKSYS_WRT310NV1:
 690                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt310nv1);
 691                 break;
 692         case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
 693                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g3gv2);
 694                 break;
 695         case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101:
 696                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0101);
 697                 break;
 698         case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467:
 699                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0467);
 700                 break;
 701         case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708:
 702                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_generic);
 703                 break;
 704         case BCM47XX_BOARD_LINKSYS_WRT610NV1:
 705                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv1);
 706                 break;
 707         case BCM47XX_BOARD_LINKSYS_WRT610NV2:
 708                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv2);
 709                 break;
 710         case BCM47XX_BOARD_LINKSYS_WRTSL54GS:
 711                 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrtsl54gs);
 712                 break;
 713 
 714         case BCM47XX_BOARD_LUXUL_ABR_4400_V1:
 715                 bcm47xx_set_pdata(bcm47xx_leds_luxul_abr_4400_v1);
 716                 break;
 717         case BCM47XX_BOARD_LUXUL_XAP_310_V1:
 718                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_310_v1);
 719                 break;
 720         case BCM47XX_BOARD_LUXUL_XAP_1210_V1:
 721                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1210_v1);
 722                 break;
 723         case BCM47XX_BOARD_LUXUL_XAP_1230_V1:
 724                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1230_v1);
 725                 break;
 726         case BCM47XX_BOARD_LUXUL_XAP_1240_V1:
 727                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1240_v1);
 728                 break;
 729         case BCM47XX_BOARD_LUXUL_XAP_1500_V1:
 730                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1500_v1);
 731                 bcm47xx_set_pdata_extra(bcm47xx_leds_luxul_xap1500_v1_extra);
 732                 break;
 733         case BCM47XX_BOARD_LUXUL_XBR_4400_V1:
 734                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xbr_4400_v1);
 735                 break;
 736         case BCM47XX_BOARD_LUXUL_XVW_P30_V1:
 737                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xvw_p30_v1);
 738                 break;
 739         case BCM47XX_BOARD_LUXUL_XWR_600_V1:
 740                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xwr_600_v1);
 741                 break;
 742         case BCM47XX_BOARD_LUXUL_XWR_1750_V1:
 743                 bcm47xx_set_pdata(bcm47xx_leds_luxul_xwr_1750_v1);
 744                 bcm47xx_set_pdata_extra(bcm47xx_leds_luxul_xwr1750_v1_extra);
 745                 break;
 746 
 747         case BCM47XX_BOARD_MICROSOFT_MN700:
 748                 bcm47xx_set_pdata(bcm47xx_leds_microsoft_nm700);
 749                 break;
 750 
 751         case BCM47XX_BOARD_MOTOROLA_WE800G:
 752                 bcm47xx_set_pdata(bcm47xx_leds_motorola_we800g);
 753                 break;
 754         case BCM47XX_BOARD_MOTOROLA_WR850GP:
 755                 bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gp);
 756                 break;
 757         case BCM47XX_BOARD_MOTOROLA_WR850GV2V3:
 758                 bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gv2v3);
 759                 break;
 760 
 761         case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
 762                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr3400v1);
 763                 break;
 764         case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
 765                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500v1);
 766                 break;
 767         case BCM47XX_BOARD_NETGEAR_WNR1000_V3:
 768                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr1000_v3);
 769                 break;
 770         case BCM47XX_BOARD_NETGEAR_WNR3500L:
 771                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv1);
 772                 break;
 773         case BCM47XX_BOARD_NETGEAR_WNR834BV2:
 774                 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);
 775                 break;
 776 
 777         case BCM47XX_BOARD_SIEMENS_SE505V2:
 778                 bcm47xx_set_pdata(bcm47xx_leds_siemens_se505v2);
 779                 break;
 780 
 781         case BCM47XX_BOARD_SIMPLETECH_SIMPLESHARE:
 782                 bcm47xx_set_pdata(bcm47xx_leds_simpletech_simpleshare);
 783                 break;
 784 
 785         default:
 786                 pr_debug("No LEDs configuration found for this device\n");
 787                 return;
 788         }
 789 
 790         gpio_led_register_device(-1, &bcm47xx_leds_pdata);
 791         if (bcm47xx_leds_pdata_extra.num_leds)
 792                 gpio_led_register_device(0, &bcm47xx_leds_pdata_extra);
 793 }

/* [<][>][^][v][top][bottom][index][help] */