diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-2.6.33/140-new_bcm96348gw_leds.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-2.6.33/140-new_bcm96348gw_leds.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.33/140-new_bcm96348gw_leds.patch b/target/linux/brcm63xx/patches-2.6.33/140-new_bcm96348gw_leds.patch new file mode 100644 index 0000000..f1a66c9 --- /dev/null +++ b/target/linux/brcm63xx/patches-2.6.33/140-new_bcm96348gw_leds.patch @@ -0,0 +1,82 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -336,24 +336,39 @@ static struct board_info __initdata boar + .active_low = 1, + }, + { +- .name = "ppp", +- .gpio = 3, ++ .name = "power", ++ .gpio = 0, + .active_low = 1, ++ .default_trigger = "default-on", + }, + { +- .name = "ppp-fail", ++ .name = "stop", ++ .gpio = 1, ++ .active_low = 1, ++ }, ++ { ++ .name = "line1", + .gpio = 4, + .active_low = 1, + }, + { +- .name = "power", +- .gpio = 0, ++ .name = "line2", ++ .gpio = 5, + .active_low = 1, +- .default_trigger = "default-on", + }, + { +- .name = "stop", +- .gpio = 1, ++ .name = "line3", ++ .gpio = 6, ++ .active_low = 1, ++ }, ++ { ++ .name = "tel", ++ .gpio = 7, ++ .active_low = 1, ++ }, ++ { ++ .name = "eth", ++ .gpio = 35, + .active_low = 1, + }, + }, +@@ -854,6 +869,7 @@ static struct platform_device bcm63xx_gp + int __init board_register_devices(void) + { + u32 val; ++ int led_count = 0; + + if (board.has_pccard) + bcm63xx_pcmcia_register(); +@@ -900,7 +916,11 @@ int __init board_register_devices(void) + + 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); +--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h ++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +@@ -54,7 +54,7 @@ struct board_info { + struct bcm63xx_dsp_platform_data dsp; + + /* GPIO LEDs */ +- struct gpio_led leds[5]; ++ struct gpio_led leds[8]; + + /* Reset button */ + struct gpio_button reset_buttons[1]; |