struct gpio_led leds[5];
+
+ /* Reset button */
-+ struct gpio_button reset_buttons[1];
++ struct gpio_button reset_buttons[2];
};
#endif /* ! BOARD_BCM963XX_H_ */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -995,6 +995,10 @@ int __init board_register_devices(void)
+@@ -1000,6 +1000,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_buttons_device);
}
@@ -59,6 +59,10 @@ struct board_info {
/* Reset button */
- struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];
+
+ /* Additional platform devices */
+ struct platform_device **devs;
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
+@@ -713,6 +720,471 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+ {
+ .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),
+ {
+ .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),
+ {
+ .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),
+ {
+ .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),
+ {
+ .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
+@@ -743,9 +1215,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)
+@@ -793,6 +1286,9 @@ void __init board_prom_init(void)
return;
}
+ struct gpio_led leds[9];
/* Reset button */
- struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];
struct gpio_led leds[5];
+
+ /* Reset button */
-+ struct gpio_button reset_buttons[1];
++ struct gpio_button reset_buttons[2];
};
#endif /* ! BOARD_BCM963XX_H_ */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -995,6 +995,10 @@ int __init board_register_devices(void)
+@@ -1000,6 +1000,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_buttons_device);
}
@@ -59,6 +59,10 @@ struct board_info {
/* Reset button */
- struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];
+
+ /* Additional platform devices */
+ struct platform_device **devs;
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
+@@ -713,6 +720,471 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+ {
+ .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),
+ {
+ .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),
+ {
+ .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),
+ {
+ .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),
+ {
+ .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
+@@ -743,9 +1215,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)
+@@ -793,6 +1286,9 @@ void __init board_prom_init(void)
return;
}
+ struct gpio_led leds[9];
/* Reset button */
- struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];