diff options
author | Leonardo Sandoval <leonardo.sandoval@freescale.com> | 2013-01-18 16:01:59 -0600 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2013-01-18 21:09:34 -0200 |
commit | bcea664dcc53be5dc6c5d95c6b2313f9ebb0756f (patch) | |
tree | 816a980316dbc4e17a555715005dcd8a7dc6488e | |
parent | 7a5e3175c379b9155d62bef5742d210b74fe1cb1 (diff) | |
download | meta-fsl-arm-bcea664dcc53be5dc6c5d95c6b2313f9ebb0756f.tar.gz |
linux-imx_3.0.35: Enables eGalax touchscreen on i.MX6Q Sabre machines
Enables the touchscreen functionality on i.MX6 Sabre Platforms using
the eGalax Driver. Tested on imx6qsabresd and imxqsabreauto machines.
[YOCTO #3573]
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@freescale.com>
Suggested-by: Eric Nelson <eric.nelson@boundarydevices.com>
-rw-r--r-- | recipes-kernel/linux/linux-imx/egalax_ts-Add-support-for-single-touch-in-Kconfig.patch | 68 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-imx_3.0.35.bb | 3 |
2 files changed, 70 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-imx/egalax_ts-Add-support-for-single-touch-in-Kconfig.patch b/recipes-kernel/linux/linux-imx/egalax_ts-Add-support-for-single-touch-in-Kconfig.patch new file mode 100644 index 0000000..33a8393 --- /dev/null +++ b/recipes-kernel/linux/linux-imx/egalax_ts-Add-support-for-single-touch-in-Kconfig.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | From f6b560538edca833481c1d67ecf3cfe2d65c4018 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Nelson <eric.nelson@boundarydevices.com> | ||
3 | Date: Wed, 29 Aug 2012 21:50:30 -0700 | ||
4 | Subject: [PATCH] egalax_ts: Add support for single-touch in Kconfig | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | --- | ||
8 | drivers/input/touchscreen/Kconfig | 10 ++++++++++ | ||
9 | drivers/input/touchscreen/egalax_ts.c | 7 ++++--- | ||
10 | 2 files changed, 14 insertions(+), 3 deletions(-) | ||
11 | |||
12 | diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig | ||
13 | index c00ab79..311bd4d 100644 | ||
14 | --- a/drivers/input/touchscreen/Kconfig | ||
15 | +++ b/drivers/input/touchscreen/Kconfig | ||
16 | @@ -199,6 +199,16 @@ config TOUCHSCREEN_ELAN | ||
17 | To compile this driver as a module, choose M here: the | ||
18 | module will be called elan-touch. | ||
19 | |||
20 | +config TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
21 | + bool "EETI eGalax touchscreen as single-touch" | ||
22 | + default N | ||
23 | + depends on TOUCHSCREEN_EGALAX | ||
24 | + help | ||
25 | + If you say yes here you get single-touch touchscreen support | ||
26 | + on the eGalax I2C controller. | ||
27 | + If you say "no", you'll get the normal multi-touch. | ||
28 | + | ||
29 | + | ||
30 | config TOUCHSCREEN_FUJITSU | ||
31 | tristate "Fujitsu serial touchscreen" | ||
32 | select SERIO | ||
33 | diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c | ||
34 | index fff8afe..0b6cde7 100644 | ||
35 | --- a/drivers/input/touchscreen/egalax_ts.c | ||
36 | +++ b/drivers/input/touchscreen/egalax_ts.c | ||
37 | @@ -139,7 +139,7 @@ retry: | ||
38 | events[id].x = x; | ||
39 | events[id].y = y; | ||
40 | |||
41 | -#ifdef FORCE_SINGLE_POINTER_SUPPORT | ||
42 | +#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
43 | input_report_abs(input_dev, ABS_X, x); | ||
44 | input_report_abs(input_dev, ABS_Y, y); | ||
45 | input_event(data->input_dev, EV_KEY, BTN_TOUCH, 1); | ||
46 | @@ -166,7 +166,7 @@ retry: | ||
47 | dev_dbg(&client->dev, "release id:%d\n", id); | ||
48 | events[id].valid = 0; | ||
49 | events[id].status = 0; | ||
50 | -#ifdef FORCE_SINGLE_POINTER_SUPPORT | ||
51 | +#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
52 | input_report_key(input_dev, BTN_TOUCH, 0); | ||
53 | input_report_abs(input_dev, ABS_PRESSURE, 0); | ||
54 | #else | ||
55 | @@ -256,8 +256,9 @@ static int __devinit egalax_ts_probe(struct i2c_client *client, | ||
56 | __set_bit(ABS_PRESSURE, input_dev->absbit); | ||
57 | input_set_abs_params(input_dev, ABS_X, 0, 32767, 0, 0); | ||
58 | input_set_abs_params(input_dev, ABS_Y, 0, 32767, 0, 0); | ||
59 | + input_set_abs_params(input_dev, ABS_PRESSURE, 0, 1, 0, 0); | ||
60 | |||
61 | -#ifndef FORCE_SINGLE_POINTER_SUPPORT | ||
62 | +#ifndef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH | ||
63 | input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, 32767, 0, 0); | ||
64 | input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, 32767, 0, 0); | ||
65 | input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0); | ||
66 | -- | ||
67 | 1.7.9.5 | ||
68 | |||
diff --git a/recipes-kernel/linux/linux-imx_3.0.35.bb b/recipes-kernel/linux/linux-imx_3.0.35.bb index 9f1e320..9c4b0be 100644 --- a/recipes-kernel/linux/linux-imx_3.0.35.bb +++ b/recipes-kernel/linux/linux-imx_3.0.35.bb | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | include linux-imx.inc | 4 | include linux-imx.inc |
5 | 5 | ||
6 | PR = "${INC_PR}.7" | 6 | PR = "${INC_PR}.8" |
7 | 7 | ||
8 | COMPATIBLE_MACHINE = "(mx6)" | 8 | COMPATIBLE_MACHINE = "(mx6)" |
9 | 9 | ||
@@ -12,6 +12,7 @@ SRCREV = "059685632ebd37a89e60cbb1e6dd535b3b08c3be" | |||
12 | LOCALVERSION = "-12.09.01+yocto" | 12 | LOCALVERSION = "-12.09.01+yocto" |
13 | 13 | ||
14 | SRC_URI += "file://fix_getrusage_for_perf.patch \ | 14 | SRC_URI += "file://fix_getrusage_for_perf.patch \ |
15 | file://egalax_ts-Add-support-for-single-touch-in-Kconfig.patch \ | ||
15 | " | 16 | " |
16 | 17 | ||
17 | # iMX6Q SabreLITE changes done by Boundary Devices | 18 | # iMX6Q SabreLITE changes done by Boundary Devices |