From: Mirko Parthey Date: Tue, 14 Feb 2017 21:38:17 +0000 (+0100) Subject: brcm47xx: fix button inversion for Asus WL-500W X-Git-Tag: v18.06.0-rc1~3590 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d517f043434901452fd19dabc7deefb58179c444;p=openwrt%2Fstaging%2Fpepe2k.git brcm47xx: fix button inversion for Asus WL-500W The Asus WL-500W buttons are active high, but the software treats them as active low. Fix the inverted logic. Signed-off-by: Mirko Parthey Signed-off-by: Rafał Miłecki --- diff --git a/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch b/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch new file mode 100644 index 0000000000..bae19ffd6f --- /dev/null +++ b/target/linux/brcm47xx/patches-4.4/130-MIPS-bcm47xx-Fix-button-inversion-for-Asus-WL-500W.patch @@ -0,0 +1,38 @@ +From: Mirko Parthey +Subject: [PATCH] MIPS: bcm47xx: Fix button inversion for Asus WL-500W + +The Asus WL-500W buttons are active high, +but the software treats them as active low. +Fix the inverted logic. + +Signed-off-by: Mirko Parthey +--- + arch/mips/bcm47xx/buttons.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/arch/mips/bcm47xx/buttons.c ++++ b/arch/mips/bcm47xx/buttons.c +@@ -17,6 +17,12 @@ + .active_low = 1, \ + } + ++#define BCM47XX_GPIO_KEY_H(_gpio, _code) \ ++ { \ ++ .code = _code, \ ++ .gpio = _gpio, \ ++ } ++ + /* Asus */ + + static const struct gpio_keys_button +@@ -85,8 +91,8 @@ bcm47xx_buttons_asus_wl500gpv2[] __initc + + static const struct gpio_keys_button + bcm47xx_buttons_asus_wl500w[] __initconst = { +- BCM47XX_GPIO_KEY(6, KEY_RESTART), +- BCM47XX_GPIO_KEY(7, KEY_WPS_BUTTON), ++ BCM47XX_GPIO_KEY_H(6, KEY_RESTART), ++ BCM47XX_GPIO_KEY_H(7, KEY_WPS_BUTTON), + }; + + static const struct gpio_keys_button