[brcm63xx] add infrastructure to register gpio-input reset button
authorFlorian Fainelli <florian@openwrt.org>
Sun, 6 Sep 2009 13:54:17 +0000 (13:54 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 6 Sep 2009 13:54:17 +0000 (13:54 +0000)
SVN-Revision: 17526

target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c
target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/board_bcm963xx.h
target/linux/brcm63xx/profiles/200-GW6X00.mk

index 2c56a3c..0a8ecbd 100644 (file)
@@ -802,6 +802,17 @@ static struct platform_device bcm63xx_gpio_leds = {
        .dev.platform_data      = &bcm63xx_led_data,
 };
 
+struct gpio_buttons_platform_data bcm63xx_gpio_buttons_data = {
+       .poll_interval  = 20,
+};
+
+struct platform_device bcm63xx_gpio_buttons_device = {
+        .name           = "gpio-buttons",
+        .id             = 0,
+        .dev.platform_data = &bcm63xx_gpio_buttons_data,
+};
+
+
 /*
  * third stage init callback, register all board devices.
  */
@@ -869,6 +880,11 @@ int __init board_register_devices(void)
 
        platform_device_register(&bcm63xx_gpio_leds);
 
+       bcm63xx_gpio_buttons_data.nbuttons = 1,
+       bcm63xx_gpio_buttons_data.buttons = board.reset_btm;
+
+       platform_device_register(&bcm63xx_gpio_buttons);
+
        return 0;
 }
 
index d154b28..e07a07c 100644 (file)
@@ -56,6 +56,9 @@ struct board_info {
 
        /* GPIO LEDs */
        struct gpio_led leds[5];
+
+       /* Reset button */
+       unsigned int    reset_btn;
 };
 
 #endif /* ! BOARD_BCM963XX_H_ */
index e2e8c01..8b7695f 100644 (file)
@@ -10,7 +10,7 @@ define Profile/GW6X00
   PACKAGES:=kmod-b43 kmod-usb-core kmod-usb-ohci kmod-usb-storage \
        kmod-fs-ext2 kmod-nls-cp437 kmod-nls-iso8859-1 kmod-fs-vfat \
        kmod-loop e2fsprogs kmod-spi-bitbang kmod-bcm63xx-spi \
-       kmod-ipt-nathelper-extra \
+       kmod-ipt-nathelper-extra kmod-input-gpio-buttons \
        wpa-supplicant iw
 endef