0001
0002 #include "bcm47xx_private.h"
0003
0004 #include <linux/leds.h>
0005 #include <bcm47xx_board.h>
0006
0007
0008
0009
0010
0011 #define BCM47XX_GPIO_LED(_gpio, _color, _function, _active_low, \
0012 _default_state) \
0013 { \
0014 .name = "bcm47xx:" _color ":" _function, \
0015 .gpio = _gpio, \
0016 .active_low = _active_low, \
0017 .default_state = _default_state, \
0018 }
0019
0020 #define BCM47XX_GPIO_LED_TRIGGER(_gpio, _color, _function, _active_low, \
0021 _default_trigger) \
0022 { \
0023 .name = "bcm47xx:" _color ":" _function, \
0024 .gpio = _gpio, \
0025 .active_low = _active_low, \
0026 .default_state = LEDS_GPIO_DEFSTATE_OFF, \
0027 .default_trigger = _default_trigger, \
0028 }
0029
0030
0031
0032 static const struct gpio_led
0033 bcm47xx_leds_asus_rtn10u[] __initconst = {
0034 BCM47XX_GPIO_LED(5, "green", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0035 BCM47XX_GPIO_LED(6, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0036 BCM47XX_GPIO_LED(7, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0037 BCM47XX_GPIO_LED(8, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0038 };
0039
0040 static const struct gpio_led
0041 bcm47xx_leds_asus_rtn12[] __initconst = {
0042 BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0043 BCM47XX_GPIO_LED(7, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0044 };
0045
0046 static const struct gpio_led
0047 bcm47xx_leds_asus_rtn15u[] __initconst = {
0048
0049 BCM47XX_GPIO_LED(3, "blue", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
0050 BCM47XX_GPIO_LED(4, "blue", "lan", 1, LEDS_GPIO_DEFSTATE_OFF),
0051 BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0052 BCM47XX_GPIO_LED(9, "blue", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0053 };
0054
0055 static const struct gpio_led
0056 bcm47xx_leds_asus_rtn16[] __initconst = {
0057 BCM47XX_GPIO_LED(1, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0058 BCM47XX_GPIO_LED(7, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0059 };
0060
0061 static const struct gpio_led
0062 bcm47xx_leds_asus_rtn66u[] __initconst = {
0063 BCM47XX_GPIO_LED(12, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0064 BCM47XX_GPIO_LED(15, "blue", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
0065 };
0066
0067 static const struct gpio_led
0068 bcm47xx_leds_asus_wl300g[] __initconst = {
0069 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0070 };
0071
0072 static const struct gpio_led
0073 bcm47xx_leds_asus_wl320ge[] __initconst = {
0074 BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0075 BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0076 BCM47XX_GPIO_LED(11, "unk", "link", 1, LEDS_GPIO_DEFSTATE_OFF),
0077 };
0078
0079 static const struct gpio_led
0080 bcm47xx_leds_asus_wl330ge[] __initconst = {
0081 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0082 };
0083
0084 static const struct gpio_led
0085 bcm47xx_leds_asus_wl500g[] __initconst = {
0086 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0087 };
0088
0089 static const struct gpio_led
0090 bcm47xx_leds_asus_wl500gd[] __initconst = {
0091 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0092 };
0093
0094 static const struct gpio_led
0095 bcm47xx_leds_asus_wl500gpv1[] __initconst = {
0096 BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0097 };
0098
0099 static const struct gpio_led
0100 bcm47xx_leds_asus_wl500gpv2[] __initconst = {
0101 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0102 BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0103 };
0104
0105 static const struct gpio_led
0106 bcm47xx_leds_asus_wl500w[] __initconst = {
0107 BCM47XX_GPIO_LED(5, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0108 };
0109
0110 static const struct gpio_led
0111 bcm47xx_leds_asus_wl520gc[] __initconst = {
0112 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0113 BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0114 };
0115
0116 static const struct gpio_led
0117 bcm47xx_leds_asus_wl520gu[] __initconst = {
0118 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0119 BCM47XX_GPIO_LED(1, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0120 };
0121
0122 static const struct gpio_led
0123 bcm47xx_leds_asus_wl700ge[] __initconst = {
0124 BCM47XX_GPIO_LED(1, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0125 };
0126
0127 static const struct gpio_led
0128 bcm47xx_leds_asus_wlhdd[] __initconst = {
0129 BCM47XX_GPIO_LED(0, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0130 BCM47XX_GPIO_LED(2, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
0131 };
0132
0133
0134
0135 static const struct gpio_led
0136 bcm47xx_leds_belkin_f7d4301[] __initconst = {
0137 BCM47XX_GPIO_LED(10, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0138 BCM47XX_GPIO_LED(11, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
0139 BCM47XX_GPIO_LED(12, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0140 BCM47XX_GPIO_LED(13, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0141 BCM47XX_GPIO_LED(14, "unk", "usb0", 1, LEDS_GPIO_DEFSTATE_OFF),
0142 BCM47XX_GPIO_LED(15, "unk", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
0143 };
0144
0145
0146
0147 static const struct gpio_led
0148 bcm47xx_leds_buffalo_whr2_a54g54[] __initconst = {
0149 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0150 };
0151
0152 static const struct gpio_led
0153 bcm47xx_leds_buffalo_whr_g125[] __initconst = {
0154 BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
0155 BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0156 BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
0157 BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0158 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0159 };
0160
0161 static const struct gpio_led
0162 bcm47xx_leds_buffalo_whr_g54s[] __initconst = {
0163 BCM47XX_GPIO_LED(1, "green", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
0164 BCM47XX_GPIO_LED(2, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0165 BCM47XX_GPIO_LED(3, "green", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
0166 BCM47XX_GPIO_LED(6, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0167 BCM47XX_GPIO_LED(7, "red", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0168 };
0169
0170 static const struct gpio_led
0171 bcm47xx_leds_buffalo_whr_hp_g54[] __initconst = {
0172 BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
0173 BCM47XX_GPIO_LED(2, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0174 BCM47XX_GPIO_LED(3, "unk", "internal", 1, LEDS_GPIO_DEFSTATE_OFF),
0175 BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0176 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0177 };
0178
0179 static const struct gpio_led
0180 bcm47xx_leds_buffalo_wzr_g300n[] __initconst = {
0181 BCM47XX_GPIO_LED(1, "unk", "bridge", 1, LEDS_GPIO_DEFSTATE_OFF),
0182 BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0183 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0184 };
0185
0186 static const struct gpio_led
0187 bcm47xx_leds_buffalo_wzr_rs_g54[] __initconst = {
0188 BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0189 BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
0190 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0191 };
0192
0193 static const struct gpio_led
0194 bcm47xx_leds_buffalo_wzr_rs_g54hp[] __initconst = {
0195 BCM47XX_GPIO_LED(6, "unk", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0196 BCM47XX_GPIO_LED(1, "unk", "vpn", 1, LEDS_GPIO_DEFSTATE_OFF),
0197 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0198 };
0199
0200
0201
0202 static const struct gpio_led
0203 bcm47xx_leds_dell_tm2300[] __initconst = {
0204 BCM47XX_GPIO_LED(6, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0205 BCM47XX_GPIO_LED(7, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0206 };
0207
0208
0209
0210 static const struct gpio_led
0211 bcm47xx_leds_dlink_dir130[] __initconst = {
0212 BCM47XX_GPIO_LED_TRIGGER(0, "green", "status", 1, "timer"),
0213 BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
0214 };
0215
0216 static const struct gpio_led
0217 bcm47xx_leds_dlink_dir330[] __initconst = {
0218 BCM47XX_GPIO_LED_TRIGGER(0, "green", "status", 1, "timer"),
0219 BCM47XX_GPIO_LED(4, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
0220 BCM47XX_GPIO_LED(6, "blue", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
0221 };
0222
0223
0224
0225 static const struct gpio_led
0226 bcm47xx_leds_huawei_e970[] __initconst = {
0227 BCM47XX_GPIO_LED(0, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0228 };
0229
0230
0231
0232 static const struct gpio_led
0233 bcm47xx_leds_linksys_e1000v1[] __initconst = {
0234 BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0235 BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0236 BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0237 BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0238 };
0239
0240 static const struct gpio_led
0241 bcm47xx_leds_linksys_e1000v21[] __initconst = {
0242 BCM47XX_GPIO_LED(5, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0243 BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0244 BCM47XX_GPIO_LED(7, "amber", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0245 BCM47XX_GPIO_LED(8, "blue", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0246 };
0247
0248 static const struct gpio_led
0249 bcm47xx_leds_linksys_e2000v1[] __initconst = {
0250 BCM47XX_GPIO_LED(1, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0251 BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0252 BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0253 BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0254 };
0255
0256 static const struct gpio_led
0257 bcm47xx_leds_linksys_e3000v1[] __initconst = {
0258 BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0259 BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0260 BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0261 BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0262 BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0263 };
0264
0265 static const struct gpio_led
0266 bcm47xx_leds_linksys_e3200v1[] __initconst = {
0267 BCM47XX_GPIO_LED(3, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0268 };
0269
0270 static const struct gpio_led
0271 bcm47xx_leds_linksys_e4200v1[] __initconst = {
0272 BCM47XX_GPIO_LED(5, "white", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0273 };
0274
0275 static const struct gpio_led
0276 bcm47xx_leds_linksys_wrt150nv1[] __initconst = {
0277 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0278 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0279 BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0280 };
0281
0282 static const struct gpio_led
0283 bcm47xx_leds_linksys_wrt150nv11[] __initconst = {
0284 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0285 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0286 BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0287 };
0288
0289 static const struct gpio_led
0290 bcm47xx_leds_linksys_wrt160nv1[] __initconst = {
0291 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0292 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0293 BCM47XX_GPIO_LED(5, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0294 };
0295
0296 static const struct gpio_led
0297 bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
0298 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0299 BCM47XX_GPIO_LED(2, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0300 BCM47XX_GPIO_LED(4, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0301 };
0302
0303 static const struct gpio_led
0304 bcm47xx_leds_linksys_wrt300n_v1[] __initconst = {
0305 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0306 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0307 BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0308 };
0309
0310 static const struct gpio_led
0311 bcm47xx_leds_linksys_wrt300nv11[] __initconst = {
0312 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0313 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0314 BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0315 };
0316
0317 static const struct gpio_led
0318 bcm47xx_leds_linksys_wrt310nv1[] __initconst = {
0319 BCM47XX_GPIO_LED(1, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0320 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0321 BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0322 };
0323
0324 static const struct gpio_led
0325 bcm47xx_leds_linksys_wrt320n_v1[] __initconst = {
0326 BCM47XX_GPIO_LED(1, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0327 BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0328 BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0329 };
0330
0331 static const struct gpio_led
0332 bcm47xx_leds_linksys_wrt54g_generic[] __initconst = {
0333 BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0334 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0335 BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0336 BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0337 };
0338
0339 static const struct gpio_led
0340 bcm47xx_leds_linksys_wrt54g3gv2[] __initconst = {
0341 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0342 BCM47XX_GPIO_LED(2, "green", "3g", 0, LEDS_GPIO_DEFSTATE_OFF),
0343 BCM47XX_GPIO_LED(3, "blue", "3g", 0, LEDS_GPIO_DEFSTATE_OFF),
0344 };
0345
0346
0347 static const struct gpio_led
0348 bcm47xx_leds_linksys_wrt54g_type_0101[] __initconst = {
0349 BCM47XX_GPIO_LED(0, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0350 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0351 BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0352 };
0353
0354
0355 static const struct gpio_led
0356 bcm47xx_leds_linksys_wrt54g_type_0467[] __initconst = {
0357 BCM47XX_GPIO_LED(0, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0358 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0359 BCM47XX_GPIO_LED(2, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0360 BCM47XX_GPIO_LED(3, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0361 BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0362 };
0363
0364 static const struct gpio_led
0365 bcm47xx_leds_linksys_wrt610nv1[] __initconst = {
0366 BCM47XX_GPIO_LED(0, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
0367 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
0368 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0369 BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0370 };
0371
0372 static const struct gpio_led
0373 bcm47xx_leds_linksys_wrt610nv2[] __initconst = {
0374 BCM47XX_GPIO_LED(0, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0375 BCM47XX_GPIO_LED(1, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0376 BCM47XX_GPIO_LED(3, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0377 BCM47XX_GPIO_LED(5, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0378 BCM47XX_GPIO_LED(7, "unk", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0379 };
0380
0381 static const struct gpio_led
0382 bcm47xx_leds_linksys_wrtsl54gs[] __initconst = {
0383 BCM47XX_GPIO_LED(0, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0384 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0385 BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0386 BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0387 };
0388
0389
0390
0391 static const struct gpio_led
0392 bcm47xx_leds_luxul_abr_4400_v1[] __initconst = {
0393 BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0394 BCM47XX_GPIO_LED_TRIGGER(15, "green", "status", 0, "timer"),
0395 };
0396
0397 static const struct gpio_led
0398 bcm47xx_leds_luxul_xap_310_v1[] __initconst = {
0399 BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
0400 };
0401
0402 static const struct gpio_led
0403 bcm47xx_leds_luxul_xap_1210_v1[] __initconst = {
0404 BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
0405 };
0406
0407 static const struct gpio_led
0408 bcm47xx_leds_luxul_xap_1230_v1[] __initconst = {
0409 BCM47XX_GPIO_LED(3, "blue", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0410 BCM47XX_GPIO_LED(4, "green", "bridge", 0, LEDS_GPIO_DEFSTATE_OFF),
0411 BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
0412 };
0413
0414 static const struct gpio_led
0415 bcm47xx_leds_luxul_xap_1240_v1[] __initconst = {
0416 BCM47XX_GPIO_LED(3, "blue", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0417 BCM47XX_GPIO_LED(4, "green", "bridge", 0, LEDS_GPIO_DEFSTATE_OFF),
0418 BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
0419 };
0420
0421 static const struct gpio_led
0422 bcm47xx_leds_luxul_xap_1500_v1[] __initconst = {
0423 BCM47XX_GPIO_LED_TRIGGER(13, "green", "status", 1, "timer"),
0424 };
0425
0426 static const struct gpio_led
0427 bcm47xx_leds_luxul_xap1500_v1_extra[] __initconst = {
0428 BCM47XX_GPIO_LED(44, "green", "5ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0429 BCM47XX_GPIO_LED(76, "green", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0430 };
0431
0432 static const struct gpio_led
0433 bcm47xx_leds_luxul_xbr_4400_v1[] __initconst = {
0434 BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0435 BCM47XX_GPIO_LED_TRIGGER(15, "green", "status", 0, "timer"),
0436 };
0437
0438 static const struct gpio_led
0439 bcm47xx_leds_luxul_xvw_p30_v1[] __initconst = {
0440 BCM47XX_GPIO_LED_TRIGGER(0, "blue", "status", 1, "timer"),
0441 BCM47XX_GPIO_LED(1, "green", "link", 1, LEDS_GPIO_DEFSTATE_OFF),
0442 };
0443
0444 static const struct gpio_led
0445 bcm47xx_leds_luxul_xwr_600_v1[] __initconst = {
0446 BCM47XX_GPIO_LED(3, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0447 BCM47XX_GPIO_LED_TRIGGER(6, "green", "status", 1, "timer"),
0448 BCM47XX_GPIO_LED(9, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0449 };
0450
0451 static const struct gpio_led
0452 bcm47xx_leds_luxul_xwr_1750_v1[] __initconst = {
0453 BCM47XX_GPIO_LED(5, "green", "5ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0454 BCM47XX_GPIO_LED(12, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
0455 BCM47XX_GPIO_LED_TRIGGER(13, "green", "status", 0, "timer"),
0456 BCM47XX_GPIO_LED(15, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0457 };
0458
0459 static const struct gpio_led
0460 bcm47xx_leds_luxul_xwr1750_v1_extra[] __initconst = {
0461 BCM47XX_GPIO_LED(76, "green", "2ghz", 0, LEDS_GPIO_DEFSTATE_OFF),
0462 };
0463
0464
0465
0466 static const struct gpio_led
0467 bcm47xx_leds_microsoft_nm700[] __initconst = {
0468 BCM47XX_GPIO_LED(6, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0469 };
0470
0471
0472
0473 static const struct gpio_led
0474 bcm47xx_leds_motorola_we800g[] __initconst = {
0475 BCM47XX_GPIO_LED(1, "amber", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0476 BCM47XX_GPIO_LED(2, "unk", "unk", 1, LEDS_GPIO_DEFSTATE_OFF),
0477 BCM47XX_GPIO_LED(4, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0478 };
0479
0480 static const struct gpio_led
0481 bcm47xx_leds_motorola_wr850gp[] __initconst = {
0482 BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0483 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0484 BCM47XX_GPIO_LED(6, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0485 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0486 };
0487
0488 static const struct gpio_led
0489 bcm47xx_leds_motorola_wr850gv2v3[] __initconst = {
0490 BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0491 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0492 BCM47XX_GPIO_LED(7, "unk", "diag", 1, LEDS_GPIO_DEFSTATE_OFF),
0493 };
0494
0495
0496
0497 static const struct gpio_led
0498 bcm47xx_leds_netgear_wndr3400v1[] __initconst = {
0499 BCM47XX_GPIO_LED(2, "green", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
0500 BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0501 BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
0502 };
0503
0504 static const struct gpio_led
0505 bcm47xx_leds_netgear_wndr4500v1[] __initconst = {
0506 BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0507 BCM47XX_GPIO_LED(2, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0508 BCM47XX_GPIO_LED(3, "amber", "power", 1, LEDS_GPIO_DEFSTATE_OFF),
0509 BCM47XX_GPIO_LED(8, "green", "usb1", 1, LEDS_GPIO_DEFSTATE_OFF),
0510 BCM47XX_GPIO_LED(9, "green", "2ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
0511 BCM47XX_GPIO_LED(11, "blue", "5ghz", 1, LEDS_GPIO_DEFSTATE_OFF),
0512 BCM47XX_GPIO_LED(14, "green", "usb2", 1, LEDS_GPIO_DEFSTATE_OFF),
0513 };
0514
0515 static const struct gpio_led
0516 bcm47xx_leds_netgear_wnr1000_v3[] __initconst = {
0517 BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0518 BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0519 };
0520
0521 static const struct gpio_led
0522 bcm47xx_leds_netgear_wnr3500lv1[] __initconst = {
0523 BCM47XX_GPIO_LED(0, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0524 BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
0525 BCM47XX_GPIO_LED(2, "green", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
0526 BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0527 BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
0528 };
0529
0530 static const struct gpio_led
0531 bcm47xx_leds_netgear_wnr3500lv2[] __initconst = {
0532 BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
0533 BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
0534 BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0535 BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
0536 };
0537
0538 static const struct gpio_led
0539 bcm47xx_leds_netgear_wnr834bv2[] __initconst = {
0540 BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
0541 BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
0542 BCM47XX_GPIO_LED(7, "unk", "connected", 0, LEDS_GPIO_DEFSTATE_OFF),
0543 };
0544
0545
0546 static const struct gpio_led
0547 bcm47xx_leds_siemens_se505v2[] __initconst = {
0548 BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
0549 BCM47XX_GPIO_LED(3, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
0550 BCM47XX_GPIO_LED(5, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
0551 };
0552
0553
0554
0555 static const struct gpio_led
0556 bcm47xx_leds_simpletech_simpleshare[] __initconst = {
0557 BCM47XX_GPIO_LED(1, "unk", "status", 1, LEDS_GPIO_DEFSTATE_OFF),
0558 };
0559
0560
0561
0562
0563
0564 static struct gpio_led_platform_data bcm47xx_leds_pdata __initdata;
0565
0566 #define bcm47xx_set_pdata(dev_leds) do { \
0567 bcm47xx_leds_pdata.leds = dev_leds; \
0568 bcm47xx_leds_pdata.num_leds = ARRAY_SIZE(dev_leds); \
0569 } while (0)
0570
0571 static struct gpio_led_platform_data bcm47xx_leds_pdata_extra __initdata = {};
0572 #define bcm47xx_set_pdata_extra(dev_leds) do { \
0573 bcm47xx_leds_pdata_extra.leds = dev_leds; \
0574 bcm47xx_leds_pdata_extra.num_leds = ARRAY_SIZE(dev_leds); \
0575 } while (0)
0576
0577 void __init bcm47xx_leds_register(void)
0578 {
0579 enum bcm47xx_board board = bcm47xx_board_get();
0580
0581 switch (board) {
0582 case BCM47XX_BOARD_ASUS_RTN10U:
0583 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn10u);
0584 break;
0585 case BCM47XX_BOARD_ASUS_RTN12:
0586 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12);
0587 break;
0588 case BCM47XX_BOARD_ASUS_RTN15U:
0589 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn15u);
0590 break;
0591 case BCM47XX_BOARD_ASUS_RTN16:
0592 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn16);
0593 break;
0594 case BCM47XX_BOARD_ASUS_RTN66U:
0595 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn66u);
0596 break;
0597 case BCM47XX_BOARD_ASUS_WL300G:
0598 bcm47xx_set_pdata(bcm47xx_leds_asus_wl300g);
0599 break;
0600 case BCM47XX_BOARD_ASUS_WL320GE:
0601 bcm47xx_set_pdata(bcm47xx_leds_asus_wl320ge);
0602 break;
0603 case BCM47XX_BOARD_ASUS_WL330GE:
0604 bcm47xx_set_pdata(bcm47xx_leds_asus_wl330ge);
0605 break;
0606 case BCM47XX_BOARD_ASUS_WL500G:
0607 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500g);
0608 break;
0609 case BCM47XX_BOARD_ASUS_WL500GD:
0610 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gd);
0611 break;
0612 case BCM47XX_BOARD_ASUS_WL500GPV1:
0613 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv1);
0614 break;
0615 case BCM47XX_BOARD_ASUS_WL500GPV2:
0616 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500gpv2);
0617 break;
0618 case BCM47XX_BOARD_ASUS_WL500W:
0619 bcm47xx_set_pdata(bcm47xx_leds_asus_wl500w);
0620 break;
0621 case BCM47XX_BOARD_ASUS_WL520GC:
0622 bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gc);
0623 break;
0624 case BCM47XX_BOARD_ASUS_WL520GU:
0625 bcm47xx_set_pdata(bcm47xx_leds_asus_wl520gu);
0626 break;
0627 case BCM47XX_BOARD_ASUS_WL700GE:
0628 bcm47xx_set_pdata(bcm47xx_leds_asus_wl700ge);
0629 break;
0630 case BCM47XX_BOARD_ASUS_WLHDD:
0631 bcm47xx_set_pdata(bcm47xx_leds_asus_wlhdd);
0632 break;
0633
0634 case BCM47XX_BOARD_BELKIN_F7D3301:
0635 case BCM47XX_BOARD_BELKIN_F7D3302:
0636 case BCM47XX_BOARD_BELKIN_F7D4301:
0637 case BCM47XX_BOARD_BELKIN_F7D4302:
0638 case BCM47XX_BOARD_BELKIN_F7D4401:
0639 bcm47xx_set_pdata(bcm47xx_leds_belkin_f7d4301);
0640 break;
0641
0642 case BCM47XX_BOARD_BUFFALO_WHR2_A54G54:
0643 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr2_a54g54);
0644 break;
0645 case BCM47XX_BOARD_BUFFALO_WHR_G125:
0646 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g125);
0647 break;
0648 case BCM47XX_BOARD_BUFFALO_WHR_G54S:
0649 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_g54s);
0650 break;
0651 case BCM47XX_BOARD_BUFFALO_WHR_HP_G54:
0652 bcm47xx_set_pdata(bcm47xx_leds_buffalo_whr_hp_g54);
0653 break;
0654 case BCM47XX_BOARD_BUFFALO_WZR_G300N:
0655 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_g300n);
0656 break;
0657 case BCM47XX_BOARD_BUFFALO_WZR_RS_G54:
0658 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54);
0659 break;
0660 case BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP:
0661 bcm47xx_set_pdata(bcm47xx_leds_buffalo_wzr_rs_g54hp);
0662 break;
0663
0664 case BCM47XX_BOARD_DELL_TM2300:
0665 bcm47xx_set_pdata(bcm47xx_leds_dell_tm2300);
0666 break;
0667
0668 case BCM47XX_BOARD_DLINK_DIR130:
0669 bcm47xx_set_pdata(bcm47xx_leds_dlink_dir130);
0670 break;
0671 case BCM47XX_BOARD_DLINK_DIR330:
0672 bcm47xx_set_pdata(bcm47xx_leds_dlink_dir330);
0673 break;
0674
0675 case BCM47XX_BOARD_HUAWEI_E970:
0676 bcm47xx_set_pdata(bcm47xx_leds_huawei_e970);
0677 break;
0678
0679 case BCM47XX_BOARD_LINKSYS_E1000V1:
0680 bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v1);
0681 break;
0682 case BCM47XX_BOARD_LINKSYS_E1000V21:
0683 bcm47xx_set_pdata(bcm47xx_leds_linksys_e1000v21);
0684 break;
0685 case BCM47XX_BOARD_LINKSYS_E2000V1:
0686 bcm47xx_set_pdata(bcm47xx_leds_linksys_e2000v1);
0687 break;
0688 case BCM47XX_BOARD_LINKSYS_E3000V1:
0689 bcm47xx_set_pdata(bcm47xx_leds_linksys_e3000v1);
0690 break;
0691 case BCM47XX_BOARD_LINKSYS_E3200V1:
0692 bcm47xx_set_pdata(bcm47xx_leds_linksys_e3200v1);
0693 break;
0694 case BCM47XX_BOARD_LINKSYS_E4200V1:
0695 bcm47xx_set_pdata(bcm47xx_leds_linksys_e4200v1);
0696 break;
0697 case BCM47XX_BOARD_LINKSYS_WRT150NV1:
0698 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv1);
0699 break;
0700 case BCM47XX_BOARD_LINKSYS_WRT150NV11:
0701 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt150nv11);
0702 break;
0703 case BCM47XX_BOARD_LINKSYS_WRT160NV1:
0704 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv1);
0705 break;
0706 case BCM47XX_BOARD_LINKSYS_WRT160NV3:
0707 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3);
0708 break;
0709 case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
0710 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300n_v1);
0711 break;
0712 case BCM47XX_BOARD_LINKSYS_WRT300NV11:
0713 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
0714 break;
0715 case BCM47XX_BOARD_LINKSYS_WRT310NV1:
0716 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt310nv1);
0717 break;
0718 case BCM47XX_BOARD_LINKSYS_WRT320N_V1:
0719 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt320n_v1);
0720 break;
0721 case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
0722 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g3gv2);
0723 break;
0724 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101:
0725 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0101);
0726 break;
0727 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467:
0728 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0467);
0729 break;
0730 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708:
0731 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_generic);
0732 break;
0733 case BCM47XX_BOARD_LINKSYS_WRT610NV1:
0734 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv1);
0735 break;
0736 case BCM47XX_BOARD_LINKSYS_WRT610NV2:
0737 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt610nv2);
0738 break;
0739 case BCM47XX_BOARD_LINKSYS_WRTSL54GS:
0740 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrtsl54gs);
0741 break;
0742
0743 case BCM47XX_BOARD_LUXUL_ABR_4400_V1:
0744 bcm47xx_set_pdata(bcm47xx_leds_luxul_abr_4400_v1);
0745 break;
0746 case BCM47XX_BOARD_LUXUL_XAP_310_V1:
0747 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_310_v1);
0748 break;
0749 case BCM47XX_BOARD_LUXUL_XAP_1210_V1:
0750 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1210_v1);
0751 break;
0752 case BCM47XX_BOARD_LUXUL_XAP_1230_V1:
0753 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1230_v1);
0754 break;
0755 case BCM47XX_BOARD_LUXUL_XAP_1240_V1:
0756 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1240_v1);
0757 break;
0758 case BCM47XX_BOARD_LUXUL_XAP_1500_V1:
0759 bcm47xx_set_pdata(bcm47xx_leds_luxul_xap_1500_v1);
0760 bcm47xx_set_pdata_extra(bcm47xx_leds_luxul_xap1500_v1_extra);
0761 break;
0762 case BCM47XX_BOARD_LUXUL_XBR_4400_V1:
0763 bcm47xx_set_pdata(bcm47xx_leds_luxul_xbr_4400_v1);
0764 break;
0765 case BCM47XX_BOARD_LUXUL_XVW_P30_V1:
0766 bcm47xx_set_pdata(bcm47xx_leds_luxul_xvw_p30_v1);
0767 break;
0768 case BCM47XX_BOARD_LUXUL_XWR_600_V1:
0769 bcm47xx_set_pdata(bcm47xx_leds_luxul_xwr_600_v1);
0770 break;
0771 case BCM47XX_BOARD_LUXUL_XWR_1750_V1:
0772 bcm47xx_set_pdata(bcm47xx_leds_luxul_xwr_1750_v1);
0773 bcm47xx_set_pdata_extra(bcm47xx_leds_luxul_xwr1750_v1_extra);
0774 break;
0775
0776 case BCM47XX_BOARD_MICROSOFT_MN700:
0777 bcm47xx_set_pdata(bcm47xx_leds_microsoft_nm700);
0778 break;
0779
0780 case BCM47XX_BOARD_MOTOROLA_WE800G:
0781 bcm47xx_set_pdata(bcm47xx_leds_motorola_we800g);
0782 break;
0783 case BCM47XX_BOARD_MOTOROLA_WR850GP:
0784 bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gp);
0785 break;
0786 case BCM47XX_BOARD_MOTOROLA_WR850GV2V3:
0787 bcm47xx_set_pdata(bcm47xx_leds_motorola_wr850gv2v3);
0788 break;
0789
0790 case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
0791 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr3400v1);
0792 break;
0793 case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
0794 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500v1);
0795 break;
0796 case BCM47XX_BOARD_NETGEAR_WNR1000_V3:
0797 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr1000_v3);
0798 break;
0799 case BCM47XX_BOARD_NETGEAR_WNR3500L:
0800 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv1);
0801 break;
0802 case BCM47XX_BOARD_NETGEAR_WNR3500L_V2:
0803 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv2);
0804 break;
0805 case BCM47XX_BOARD_NETGEAR_WNR834BV2:
0806 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);
0807 break;
0808
0809 case BCM47XX_BOARD_SIEMENS_SE505V2:
0810 bcm47xx_set_pdata(bcm47xx_leds_siemens_se505v2);
0811 break;
0812
0813 case BCM47XX_BOARD_SIMPLETECH_SIMPLESHARE:
0814 bcm47xx_set_pdata(bcm47xx_leds_simpletech_simpleshare);
0815 break;
0816
0817 default:
0818 pr_debug("No LEDs configuration found for this device\n");
0819 return;
0820 }
0821
0822 gpio_led_register_device(-1, &bcm47xx_leds_pdata);
0823 if (bcm47xx_leds_pdata_extra.num_leds)
0824 gpio_led_register_device(0, &bcm47xx_leds_pdata_extra);
0825 }