[meta-freescale] [meta-fsl-arm][PATCH v3] linux-imx_3.0.35: Enables eGalax touchscreen on i.MX6Q Sabre machines

Leonardo Sandoval leonardo.sandoval at freescale.com
Fri Jan 18 12:46:21 PST 2013


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 at freescale.com>
---
Changed since v2:
- Patched reworked, Kconfig option added instead of adding the macro on the driver

 ...Kconfig-option-for-single-pointer-support.patch |   68 ++++++++++++++++++++
 recipes-kernel/linux/linux-imx_3.0.35.bb           |    3 +-
 2 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 recipes-kernel/linux/linux-imx/egalax-Kconfig-option-for-single-pointer-support.patch

diff --git a/recipes-kernel/linux/linux-imx/egalax-Kconfig-option-for-single-pointer-support.patch b/recipes-kernel/linux/linux-imx/egalax-Kconfig-option-for-single-pointer-support.patch
new file mode 100644
index 0000000..b47202b
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx/egalax-Kconfig-option-for-single-pointer-support.patch
@@ -0,0 +1,68 @@
+From 3e71f2f90dcc5649c364ea659f34932ef737443f Mon Sep 17 00:00:00 2001
+From: Leonardo Sandoval <leonardo.sandoval at freescale.com>
+Date: Fri, 18 Jan 2013 12:47:56 -0600
+Subject: [PATCH] egalax: Kconfig option for single pointer support
+
+Enables touchscreen functionality on i.MX6 Sabre Platforms. Tested
+on i.MX6 SabreAuto and i.MX6 SabreSD boards.
+
+Upstream-Status: Pending
+---
+ drivers/input/touchscreen/Kconfig     |    9 +++++++++
+ drivers/input/touchscreen/egalax_ts.c |    6 +++---
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
+index 7cf975a..151d746 100755
+--- a/drivers/input/touchscreen/Kconfig
++++ b/drivers/input/touchscreen/Kconfig
+@@ -199,6 +199,15 @@ config TOUCHSCREEN_ELAN
+ 	  To compile this driver as a module, choose M here: the
+ 	  module will be called elan-touch.
+ 
++config TOUCHSCREEN_EGALAX_SINGLE_TOUCH
++        bool "EETI eGalax touchscreen as single-touch"
++        default y
++        depends on TOUCHSCREEN_EGALAX
++        help
++          If you say yes here you get single-touch touchscreen support
++          on the eGalax I2C controller.
++          If you say "no", you'll get the normal multi-touch.
++
+ config TOUCHSCREEN_FUJITSU
+ 	tristate "Fujitsu serial touchscreen"
+ 	select SERIO
+diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c
+index fff8afe..17c2f43 100644
+--- a/drivers/input/touchscreen/egalax_ts.c
++++ b/drivers/input/touchscreen/egalax_ts.c
+@@ -139,7 +139,7 @@ retry:
+ 		events[id].x = x;
+ 		events[id].y = y;
+ 
+-#ifdef FORCE_SINGLE_POINTER_SUPPORT
++#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH
+ 		input_report_abs(input_dev, ABS_X, x);
+ 		input_report_abs(input_dev, ABS_Y, y);
+ 		input_event(data->input_dev, EV_KEY, BTN_TOUCH, 1);
+@@ -166,7 +166,7 @@ retry:
+ 		dev_dbg(&client->dev, "release id:%d\n", id);
+ 		events[id].valid = 0;
+ 		events[id].status = 0;
+-#ifdef FORCE_SINGLE_POINTER_SUPPORT
++#ifdef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH
+ 		input_report_key(input_dev, BTN_TOUCH, 0);
+ 		input_report_abs(input_dev, ABS_PRESSURE, 0);
+ #else
+@@ -257,7 +257,7 @@ static int __devinit egalax_ts_probe(struct i2c_client *client,
+ 	input_set_abs_params(input_dev, ABS_X, 0, 32767, 0, 0);
+ 	input_set_abs_params(input_dev, ABS_Y, 0, 32767, 0, 0);
+ 
+-#ifndef FORCE_SINGLE_POINTER_SUPPORT
++#ifndef CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH
+ 	input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, 32767, 0, 0);
+ 	input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, 32767, 0, 0);
+ 	input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
+-- 
+1.7.9.5
+
diff --git a/recipes-kernel/linux/linux-imx_3.0.35.bb b/recipes-kernel/linux/linux-imx_3.0.35.bb
index 9f1e320..0009422 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 @@
 
 include linux-imx.inc
 
-PR = "${INC_PR}.7"
+PR = "${INC_PR}.8"
 
 COMPATIBLE_MACHINE = "(mx6)"
 
@@ -12,6 +12,7 @@ SRCREV = "059685632ebd37a89e60cbb1e6dd535b3b08c3be"
 LOCALVERSION = "-12.09.01+yocto"
 
 SRC_URI += "file://fix_getrusage_for_perf.patch \
+            file://egalax-Kconfig-option-for-single-pointer-support.patch \
            "
 
 # iMX6Q SabreLITE changes done by Boundary Devices
-- 
1.7.9.5





More information about the meta-freescale mailing list