You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/s3c24xx/patches-2.6.26/1208-fix-aux-key-level-by-g...

34 lines
1.1 KiB
Diff

From 5702311defa9e54a2cdfb4d71a4a9e6a90ceb45e Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Fri, 25 Jul 2008 23:06:19 +0100
Subject: [PATCH] fix-aux-key-level-by-gtaxx.patch
Reported-by: Mickey Lauer <mickey@openmoko.org>
AUX level detection is inverted based on GTA01 or 02
Signed-off-by: Andy Green <andy@openmoko.com>
---
drivers/input/keyboard/neo1973kbd.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/drivers/input/keyboard/neo1973kbd.c b/drivers/input/keyboard/neo1973kbd.c
index 3076af3..70d8bc0 100644
--- a/drivers/input/keyboard/neo1973kbd.c
+++ b/drivers/input/keyboard/neo1973kbd.c
@@ -39,8 +39,11 @@ struct neo1973kbd {
static irqreturn_t neo1973kbd_aux_irq(int irq, void *dev_id)
{
struct neo1973kbd *neo1973kbd_data = dev_id;
+ int key_pressed = !gpio_get_value(irq_to_gpio(irq));
- int key_pressed = !!gpio_get_value(irq_to_gpio(irq));
+ /* GTA02 has inverted sense level compared to GTA01 */
+ if (machine_is_neo1973_gta02())
+ key_pressed = !key_pressed;
input_report_key(neo1973kbd_data->input, KEY_PHONE, key_pressed);
input_sync(neo1973kbd_data->input);
--
1.5.6.3