aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-02-21 14:27:17 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-02-21 14:27:17 +0000
commitca64c45c761e8b9ff7a172b801cbe89f42988c41 (patch)
tree8b7f6f16a50065b2e8861a06b96c35423627bcba /target
parentd4c89d37b3f612ec541f76a306e08fb887b15f53 (diff)
downloadupstream-ca64c45c761e8b9ff7a172b801cbe89f42988c41.tar.gz
upstream-ca64c45c761e8b9ff7a172b801cbe89f42988c41.tar.bz2
upstream-ca64c45c761e8b9ff7a172b801cbe89f42988c41.zip
[brcm63xx] fix gpio-leds registration for boards having less than 8 LEDs (#6528)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19793 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/boards/board_bcm963xx.c7
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);