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