aboutsummaryrefslogtreecommitdiff
path: root/linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2011-12-31 16:25:21 +0100
committerLars-Dominik Braun <lars@6xq.net>2011-12-31 16:25:21 +0100
commit91e51701b30a09790b1420a3a5298221e6eb4384 (patch)
treeb0f4186da035bca6c7e538a6c400e229f6ce0229 /linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch
parent148eb8573585c694c6f259d4233631091a2b00c2 (diff)
downloadbuildroot-n35-91e51701b30a09790b1420a3a5298221e6eb4384.tar.gz
buildroot-n35-91e51701b30a09790b1420a3a5298221e6eb4384.tar.bz2
buildroot-n35-91e51701b30a09790b1420a3a5298221e6eb4384.zip
Import patches from Jiri Pinkava
Diffstat (limited to 'linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch')
-rw-r--r--linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch b/linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch
new file mode 100644
index 0000000..d259355
--- /dev/null
+++ b/linux/3.1.6/0014-s3c2410_ts-HACK-for-tslib-add-fake-pressure-value.patch
@@ -0,0 +1,52 @@
+From dee39d8e29e6de3759acc733588bbc691e69114b Mon Sep 17 00:00:00 2001
+From: Jiri Pinkava <jiri.pinkava@vscht.cz>
+Date: Sat, 5 Jun 2010 12:35:55 +0200
+Subject: [PATCH 14/14] s3c2410_ts: HACK for tslib, add fake pressure value
+
+Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
+---
+ drivers/input/touchscreen/s3c2410_ts.c | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c
+index 6085d12..13f8c04 100644
+--- a/drivers/input/touchscreen/s3c2410_ts.c
++++ b/drivers/input/touchscreen/s3c2410_ts.c
+@@ -124,6 +124,7 @@ static void touch_timer_fire(unsigned long data)
+
+ input_report_abs(ts.input, ABS_X, ts.xp);
+ input_report_abs(ts.input, ABS_Y, ts.yp);
++ input_report_abs(ts.input, ABS_PRESSURE, 1);
+
+ input_report_key(ts.input, BTN_TOUCH, 1);
+ input_sync(ts.input);
+@@ -140,6 +141,7 @@ static void touch_timer_fire(unsigned long data)
+ ts.count = 0;
+
+ input_report_key(ts.input, BTN_TOUCH, 0);
++ input_report_abs(ts.input, ABS_PRESSURE, 0);
+ input_sync(ts.input);
+
+ writel(WAIT4INT | INT_DOWN, ts.io + S3C2410_ADCTSC);
+@@ -314,10 +316,16 @@ static int __devinit s3c2410ts_probe(struct platform_device *pdev)
+ }
+
+ ts.input = input_dev;
+- ts.input->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
+- ts.input->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
++ __set_bit(EV_ABS, ts.input->evbit);
++ __set_bit(ABS_X, ts.input->absbit);
++ __set_bit(ABS_Y, ts.input->absbit);
++ __set_bit(ABS_PRESSURE, ts.input->absbit);
++ __set_bit(EV_SYN, ts.input->evbit);
++ __set_bit(EV_KEY, ts.input->evbit);
++ __set_bit(BTN_TOUCH, ts.input->keybit);
+ input_set_abs_params(ts.input, ABS_X, 0, 0x3FF, 0, 0);
+ input_set_abs_params(ts.input, ABS_Y, 0, 0x3FF, 0, 0);
++ input_set_abs_params(ts.input, ABS_PRESSURE, 0, 1, 0, 0);
+
+ ts.input->name = "S3C24XX TouchScreen";
+ ts.input->id.bustype = BUS_HOST;
+--
+1.7.3.1
+