ramips: use gpio-keys-polled instead of gpio-buttons
[openwrt/openwrt.git] / target / linux / ramips / files / arch / mips / ralink / rt305x / mach-argus-atp52b.c
index d1c51702939bd737f2cbdcf58be5370d32c68d67..00832f13bb18fbf2f42292f54e8071b0a046d0fc 100644 (file)
@@ -27,7 +27,8 @@
 #define ARGUS_ATP52B_GPIO_LED_NET              13
 #define ARGUS_ATP52B_GPIO_BUTTON_WPS           0
 #define ARGUS_ATP52B_GPIO_BUTTON_RESET         10
-#define ARGUS_ATP52B_BUTTONS_POLL_INTERVAL     20
+#define ARGUS_ATP52B_KEYS_POLL_INTERVAL                20
+#define ARGUS_ATP52B_KEYS_DEBOUNCE_INTERVAL    (3 * ARGUS_ATP52B_KEYS_POLL_INTERVAL)
 
 static struct gpio_led argus_atp52b_leds_gpio[] __initdata = {
        {
@@ -42,12 +43,12 @@ static struct gpio_led argus_atp52b_leds_gpio[] __initdata = {
        }
 };
 
-static struct gpio_button argus_atp52b_gpio_buttons[] __initdata = {
+static struct gpio_keys_button argus_atp52b_gpio_buttons[] __initdata = {
        {
                .desc       = "wps",
                .type       = EV_KEY,
                .code       = KEY_WPS_BUTTON,
-               .threshold  = 3,
+               .debounce_interval = ARGUS_ATP52B_KEYS_DEBOUNCE_INTERVAL,
                .gpio       = ARGUS_ATP52B_GPIO_BUTTON_WPS,
                .active_low = 1,
        },
@@ -55,7 +56,7 @@ static struct gpio_button argus_atp52b_gpio_buttons[] __initdata = {
                .desc       = "reset",
                .type       = EV_KEY,
                .code       = KEY_RESTART,
-               .threshold  = 10,
+               .debounce_interval = ARGUS_ATP52B_KEYS_DEBOUNCE_INTERVAL,
                .gpio       = ARGUS_ATP52B_GPIO_BUTTON_RESET,
                .active_low = 1,
        }
@@ -99,7 +100,7 @@ static void __init argus_atp52b_init(void)
        rt305x_register_flash(0, &argus_atp52b_flash_data);
        ramips_register_gpio_leds(-1, ARRAY_SIZE(argus_atp52b_leds_gpio),
                                        argus_atp52b_leds_gpio);
-       ramips_register_gpio_buttons(-1, ARGUS_ATP52B_BUTTONS_POLL_INTERVAL,
+       ramips_register_gpio_buttons(-1, ARGUS_ATP52B_KEYS_POLL_INTERVAL,
                                        ARRAY_SIZE(argus_atp52b_gpio_buttons),
                                        argus_atp52b_gpio_buttons);
        rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL;