+++ /dev/null
---- 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];