MIPS: BCM47XX: Fix button inversion for Asus WL-500W
authorMirko Parthey <mirko.parthey@web.de>
Wed, 15 Feb 2017 22:31:30 +0000 (23:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 05:37:23 +0000 (06:37 +0100)
commit bdfdaf1a016ef09cb941f2edad485a713510b8d5 upstream.

The Asus WL-500W buttons are active high, but the software treats them
as active low. Fix the inverted logic.

Fixes: 3be972556fa1 ("MIPS: BCM47XX: Import buttons database from OpenWrt")
Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
Acked-by: Rafał Miłecki <rafal@milecki.pl>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15295/
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/bcm47xx/buttons.c

index 52caa75bfe4e5eb1ec43b0e4152fbb1230d0ae21..e2f50d6906240aacbbd6677cad14cf609c717f05 100644 (file)
                .active_low     = 1,                                    \
        }
 
+#define BCM47XX_GPIO_KEY_H(_gpio, _code)                               \
+       {                                                               \
+               .code           = _code,                                \
+               .gpio           = _gpio,                                \
+       }
+
 /* Asus */
 
 static const struct gpio_keys_button
@@ -79,8 +85,8 @@ bcm47xx_buttons_asus_wl500gpv2[] __initconst = {
 
 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