add missing alice gate2 leds (#6743)
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-2.6.33 / 140-new_bcm96348gw_leds.patch
1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3 @@ -336,24 +336,39 @@ static struct board_info __initdata boar
4 .active_low = 1,
5 },
6 {
7 - .name = "ppp",
8 - .gpio = 3,
9 + .name = "power",
10 + .gpio = 0,
11 .active_low = 1,
12 + .default_trigger = "default-on",
13 },
14 {
15 - .name = "ppp-fail",
16 + .name = "stop",
17 + .gpio = 1,
18 + .active_low = 1,
19 + },
20 + {
21 + .name = "line1",
22 .gpio = 4,
23 .active_low = 1,
24 },
25 {
26 - .name = "power",
27 - .gpio = 0,
28 + .name = "line2",
29 + .gpio = 5,
30 .active_low = 1,
31 - .default_trigger = "default-on",
32 },
33 {
34 - .name = "stop",
35 - .gpio = 1,
36 + .name = "line3",
37 + .gpio = 6,
38 + .active_low = 1,
39 + },
40 + {
41 + .name = "tel",
42 + .gpio = 7,
43 + .active_low = 1,
44 + },
45 + {
46 + .name = "eth",
47 + .gpio = 35,
48 .active_low = 1,
49 },
50 },
51 @@ -854,6 +869,7 @@ static struct platform_device bcm63xx_gp
52 int __init board_register_devices(void)
53 {
54 u32 val;
55 + int led_count = 0;
56 int button_count = 0;
57
58 if (board.has_pccard)
59 @@ -901,7 +917,11 @@ int __init board_register_devices(void)
60
61 platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1);
62
63 - bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
64 + /* count number of LEDs defined by this device */
65 + while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name)
66 + led_count++;
67 +
68 + bcm63xx_led_data.num_leds = led_count;
69 bcm63xx_led_data.leds = board.leds;
70
71 platform_device_register(&bcm63xx_gpio_leds);
72 --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
73 +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
74 @@ -54,7 +54,7 @@ struct board_info {
75 struct bcm63xx_dsp_platform_data dsp;
76
77 /* GPIO LEDs */
78 - struct gpio_led leds[5];
79 + struct gpio_led leds[8];
80
81 /* Buttons */
82 struct gpio_button buttons[2];