aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch')
-rw-r--r--recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch130
1 files changed, 0 insertions, 130 deletions
diff --git a/recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch b/recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch
deleted file mode 100644
index 1a36c337c5..0000000000
--- a/recipes/linux/linux-sgh-i900/wm97xx-ts-fix.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff -ru git/drivers/input/touchscreen/wm97xx-core.c and/wm97xx-core.c
---- git/drivers/input/touchscreen/wm97xx-core.c 2009-11-14 20:38:03.000000000 +0200
-+++ git/drivers/input/touchscreen/wm97xx-core.c 2009-11-16 13:21:13.949140354 +0200
-@@ -70,13 +70,11 @@
- * Documentation/input/input-programming.txt for more details.
- */
-
--
--static int abs_x[3] = {350, 3900, 5};
-+static int abs_x[3] = {350, 3900, 5};
- module_param_array(abs_x, int, NULL, 0);
- MODULE_PARM_DESC(abs_x, "Touchscreen absolute X min, max, fuzz");
-
--
--static int abs_y[3] = {320, 3950, 5}; // Zylonite: 320, 3950
-+static int abs_y[3] = {320, 3750, 40};
- module_param_array(abs_y, int, NULL, 0);
- MODULE_PARM_DESC(abs_y, "Touchscreen absolute Y min, max, fuzz");
-
-@@ -411,7 +409,6 @@
- wm->pen_is_down = 0;
- dev_dbg(wm->dev, "pen up\n");
- input_report_abs(wm->input_dev, ABS_PRESSURE, 0);
-- input_report_key(wm->input_dev, BTN_TOUCH, 0);
- input_sync(wm->input_dev);
- } else if (!(rc & RC_AGAIN)) {
- /* We need high frequency updates only while
-@@ -429,22 +426,13 @@
- }
-
- } else if (rc & RC_VALID) {
-- int absy, absx;
- dev_dbg(wm->dev,
- "pen down: x=%x:%d, y=%x:%d, pressure=%x:%d\n",
- data.x >> 12, data.x & 0xfff, data.y >> 12,
- data.y & 0xfff, data.p >> 12, data.p & 0xfff);
-- absx = data.x & 0xfff;
-- if (machine_is_sgh_i780())
-- absx = (wm->input_dev->absmax[ABS_X] - absx) + wm->input_dev->absmin[ABS_X];
-- input_report_abs(wm->input_dev, ABS_X, absx);
-- //invert y coordinate
-- absy = data.y & 0xfff;
-- if (machine_is_sgh_i900())
-- absy = (wm->input_dev->absmax[ABS_Y] - absy) + wm->input_dev->absmin[ABS_Y];
-- input_report_abs(wm->input_dev, ABS_Y, absy);
-+ input_report_abs(wm->input_dev, ABS_X, data.x & 0xfff);
-+ input_report_abs(wm->input_dev, ABS_Y, data.y & 0xfff);
- input_report_abs(wm->input_dev, ABS_PRESSURE, data.p & 0xfff);
-- input_report_key(wm->input_dev, BTN_TOUCH, 1);
- input_sync(wm->input_dev);
- wm->pen_is_down = 1;
- wm->ts_reader_interval = wm->ts_reader_min_interval;
-@@ -641,23 +629,12 @@
- wm->input_dev->open = wm97xx_ts_input_open;
- wm->input_dev->close = wm97xx_ts_input_close;
- set_bit(EV_ABS, wm->input_dev->evbit);
-- set_bit(EV_KEY, wm->input_dev->evbit);
- set_bit(ABS_X, wm->input_dev->absbit);
- set_bit(ABS_Y, wm->input_dev->absbit);
- set_bit(ABS_PRESSURE, wm->input_dev->absbit);
-- set_bit(BTN_TOUCH, wm->input_dev->keybit);
--
-- if(machine_is_sgh_i780()){
-- input_set_abs_params(wm->input_dev, ABS_X, 350, 3900, 5, 0);
-- } else if(machine_is_sgh_i900()){
-- input_set_abs_params(wm->input_dev, ABS_X, 0, 39181660, 5, 0);
-- } else input_set_abs_params(wm->input_dev, ABS_X, abs_x[0], abs_x[1],
-+ input_set_abs_params(wm->input_dev, ABS_X, abs_x[0], abs_x[1],
- abs_x[2], 0);
-- if(machine_is_sgh_i780()){
-- input_set_abs_params(wm->input_dev, ABS_Y, 290, 3900, 5, 0);
-- } else if(machine_is_sgh_i900()){
-- input_set_abs_params(wm->input_dev, ABS_Y, 0, 65412060, 5, 0);
-- } else input_set_abs_params(wm->input_dev, ABS_Y, abs_y[0], abs_y[1],
-+ input_set_abs_params(wm->input_dev, ABS_Y, abs_y[0], abs_y[1],
- abs_y[2], 0);
- input_set_abs_params(wm->input_dev, ABS_PRESSURE, abs_p[0], abs_p[1],
- abs_p[2], 0);
-diff -ru git/drivers/input/touchscreen/zylonite-wm97xx.c and/zylonite-wm97xx.c
---- git/drivers/input/touchscreen/zylonite-wm97xx.c 2009-11-14 20:38:03.000000000 +0200
-+++ git/drivers/input/touchscreen/zylonite-wm97xx.c 2009-11-16 13:17:21.292645713 +0200
-@@ -76,9 +76,6 @@
- module_param(ac97_touch_slot, int, 0);
- MODULE_PARM_DESC(ac97_touch_slot, "Touch screen data slot AC97 number");
-
--static int calibration[7] = {11877, 137, -4688902, 231, -17973, 69206765, 163940}; //omnia calibration parameters
--
--
- /* flush AC97 slot 5 FIFO machines */
- static void wm97xx_acc_pen_up(struct wm97xx *wm)
- {
-@@ -101,7 +98,6 @@
- {
- u16 x, y, p = 0x100 | WM97XX_ADCSEL_PRES;
- int reads = 0;
-- int absx, absy;
- static u16 last, tries;
- static int skip_one;
-
-@@ -149,27 +145,9 @@
-
- /* coordinate is good */
- tries = 0;
-- if(machine_is_sgh_i900()){
-- x &= 0xfff;
-- y &= 0xfff;
-- absx = (calibration[0] * x + calibration[1] * y +
-- calibration[2]);// / calibration[6];
-- absy = (calibration[3] * x + calibration[4] * y +
-- calibration[5]);// / calibration[6];
-- if(absx<0) absx = 0;
-- if(absy<0) absy = 0;
-- } else {
-- absx = x & 0xfff;
-- if (machine_is_sgh_i780())
-- absx = (wm->input_dev->absmax[ABS_X] - absx) + wm->input_dev->absmin[ABS_X];
--
-- absy = y & 0xfff;
-- }
--
-- input_report_abs(wm->input_dev, ABS_X, absx);
-- input_report_abs(wm->input_dev, ABS_Y, absy);
-- p &= 0xfff;
-- input_report_abs(wm->input_dev, ABS_PRESSURE, p);
-+ input_report_abs(wm->input_dev, ABS_X, x & 0xfff);
-+ input_report_abs(wm->input_dev, ABS_Y, y & 0xfff);
-+ input_report_abs(wm->input_dev, ABS_PRESSURE, p & 0xfff);
- input_report_key(wm->input_dev, BTN_TOUCH, (p != 0));
- input_sync(wm->input_dev);
- reads++;