static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
-@@ -713,6 +720,441 @@ static struct board_info __initdata boar
+@@ -727,6 +734,471 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+ .active_low = 1,
+ },
+ },
-+ .reset_buttons = {
++ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
-+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
++ {
++ .desc = "wps",
++ .gpio = 37,
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .threshold = 3,
++ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
+ .active_low = 1,
+ },
+ },
-+ .reset_buttons = {
++ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
-+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
++ {
++ .desc = "wps",
++ .gpio = 37,
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .threshold = 3,
++ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
+ .active_low = 1,
+ },
+ },
-+ .reset_buttons = {
++ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
-+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
++ {
++ .desc = "wps",
++ .gpio = 37,
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .threshold = 3,
++ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
+ .gpio = 4,
+ },
+ },
-+ .reset_buttons = {
++ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
-+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
++ {
++ .desc = "wps",
++ .gpio = 37,
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .threshold = 3,
++ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
+ .gpio = 4,
+ },
+ },
-+ .reset_buttons = {
++ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 34,
-+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
++ {
++ .desc = "wps",
++ .gpio = 37,
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .threshold = 3,
++ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
#endif
/*
-@@ -743,9 +1185,30 @@ static const struct board_info __initdat
+@@ -757,9 +1229,30 @@ static const struct board_info __initdat
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -793,6 +1256,9 @@ void __init board_prom_init(void)
+@@ -807,6 +1300,9 @@ void __init board_prom_init(void)
return;
}
/* find board by name */
for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
if (strncmp(nvram.name, bcm963xx_boards[i]->name,
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -55,7 +55,7 @@ struct board_info {
- struct bcm63xx_dsp_platform_data dsp;
-
- /* GPIO LEDs */
-- struct gpio_led leds[8];
-+ struct gpio_led leds[9];
-
- /* Reset button */
- struct gpio_button reset_buttons[1];