diff options
author | Florian Fainelli <florian@openwrt.org> | 2010-02-21 14:27:17 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2010-02-21 14:27:17 +0000 |
commit | 12a2f9b7b8b3cabe81c33d42dbac0ff21013d92c (patch) | |
tree | 5044582d01cd238fc4ace22c952a221e305b946b /target/linux | |
parent | 1373140033c1ecfe30ef6a57a4f67e4b36ea6c83 (diff) | |
download | upstream-12a2f9b7b8b3cabe81c33d42dbac0ff21013d92c.tar.gz upstream-12a2f9b7b8b3cabe81c33d42dbac0ff21013d92c.tar.bz2 upstream-12a2f9b7b8b3cabe81c33d42dbac0ff21013d92c.zip |
fix gpio-leds registration for boards having less than 8 LEDs (#6528)
SVN-Revision: 19793
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c b/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c index 97374f897f..280383a6ac 100644 --- a/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -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); |