aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.24/1228-fix-aux-key-level-by-gtaxx.patch.patch
blob: 07704f185b58e023d334efdb18104a72f926174b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From 18ca5bd67840d6b2e21edb86057db10b2f21892d Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Sun, 13 Jul 2008 20:30:20 +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 868d0a7..2ea6846 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.5