[brcm63xx] fix gpio-leds registration for boards having less than 8 LEDs (#6528)
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 21 Feb 2010 14:27:17 +0000 (14:27 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 21 Feb 2010 14:27:17 +0000 (14:27 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19793 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c

index 97374f8..280383a 100644 (file)
@@ -930,6 +930,7 @@ static struct platform_device bcm63xx_gpio_buttons_device = {
 int __init board_register_devices(void)
 {
        u32 val;
+       int led_count = 0;
 
        bcm63xx_uart_register();
        bcm63xx_wdt_register();
@@ -986,7 +987,11 @@ int __init board_register_devices(void)
        /* Register GPIODEV */
        platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1);
 
-       bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
+       /* count number of LEDs defined by this device */
+       while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name)
+               led_count++;
+
+       bcm63xx_led_data.num_leds = led_count;
        bcm63xx_led_data.leds = board.leds;
 
        platform_device_register(&bcm63xx_gpio_leds);
This page took 0.025429 seconds and 4 git commands to generate.