| From bdfdaf1a016ef09cb941f2edad485a713510b8d5 Mon Sep 17 00:00:00 2001 |
| From: Mirko Parthey <mirko.parthey@web.de> |
| Date: Wed, 15 Feb 2017 23:31:30 +0100 |
| Subject: MIPS: BCM47XX: Fix button inversion for Asus WL-500W |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Mirko Parthey <mirko.parthey@web.de> |
| |
| 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 | 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 |
| @@ -79,8 +85,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 |