X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a88c8014e588a72efc8f83fecc5ce666a21b0e39..HEAD:/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c index 4eb1f4b99..5baf32a49 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c @@ -10,9 +10,6 @@ #include #include -#include -#include -#include #include #include @@ -25,39 +22,8 @@ #define PWH2004_GPIO_BUTTON_WPS 12 #define PWH2004_GPIO_LED_POWER 9 #define PWH2004_GPIO_LED_WIFI 14 -#define PWH2004_BUTTONS_POLL_INTERVAL 20 - -static struct mtd_partition pwh2004_partitions[] = { - { - .name = "u-boot", - .offset = 0, - .size = 0x030000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "config", - .offset = 0x030000, - .size = 0x010000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "factory", - .offset = 0x040000, - .size = 0x010000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "kernel", - .offset = 0x050000, - .size = 0x7b0000, - }, { - .name = "firmware", - .offset = 0x050000, - .size = 0x7b0000, - } -}; - -static struct physmap_flash_data pwh2004_flash_data = { - .nr_parts = ARRAY_SIZE(pwh2004_partitions), - .parts = pwh2004_partitions, -}; +#define PWH2004_KEYS_POLL_INTERVAL 20 +#define PWH2004_KEYS_DEBOUNCE_INTERVAL (3 * PWH2004_KEYS_POLL_INTERVAL) static struct gpio_led pwh2004_leds_gpio[] __initdata = { { @@ -71,12 +37,12 @@ static struct gpio_led pwh2004_leds_gpio[] __initdata = { } }; -static struct gpio_button pwh2004_gpio_buttons[] __initdata = { +static struct gpio_keys_button pwh2004_gpio_buttons[] __initdata = { { .desc = "wps", .type = EV_KEY, .code = KEY_RESTART, - .threshold = 3, + .debounce_interval = PWH2004_KEYS_DEBOUNCE_INTERVAL, .gpio = PWH2004_GPIO_BUTTON_WPS, .active_low = 1, } @@ -85,10 +51,12 @@ static struct gpio_button pwh2004_gpio_buttons[] __initdata = { static void __init pwh2004_init(void) { rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); - rt305x_register_flash(0, &pwh2004_flash_data); + + rt305x_register_flash(0); + ramips_register_gpio_leds(-1, ARRAY_SIZE(pwh2004_leds_gpio), pwh2004_leds_gpio); - ramips_register_gpio_buttons(-1, PWH2004_BUTTONS_POLL_INTERVAL, + ramips_register_gpio_buttons(-1, PWH2004_KEYS_POLL_INTERVAL, ARRAY_SIZE(pwh2004_gpio_buttons), pwh2004_gpio_buttons); rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW;