summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorWayne Zou <b36644@freescale.com>2011-07-28 16:32:11 +0800
committerWayne Zou <b36644@freescale.com>2011-07-28 17:52:12 +0800
commit01be6c83fb20d28a9da4dccf99737fae75169101 (patch)
tree4150808d16355b1e2b746acebacf7f5edc869d55 /drivers/input
parent0a311e40ca3db84c7498524f1fc14167e13d753d (diff)
ENGR00151748 DA9053 TSI: Fix touch that can not calibration on WVGA pannel
Fix a bug that da9052 tsi driver cannot support ts_calibrate test util. Signed-off-by: Wayne Zou <b36644@freescale.com>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/touchscreen/da9052_tsi.c12
-rw-r--r--drivers/input/touchscreen/da9052_tsi_filter.c3
2 files changed, 10 insertions, 5 deletions
diff --git a/drivers/input/touchscreen/da9052_tsi.c b/drivers/input/touchscreen/da9052_tsi.c
index a0c7aa9a1de9..c6ff49eaaa4d 100644
--- a/drivers/input/touchscreen/da9052_tsi.c
+++ b/drivers/input/touchscreen/da9052_tsi.c
@@ -480,6 +480,9 @@ static ssize_t __init da9052_tsi_create_input_dev(struct input_dev **ip_dev,
BIT_MASK(EV_KEY) |
BIT_MASK(EV_ABS));
+ __set_bit(ABS_X, dev->absbit);
+ __set_bit(ABS_Y, dev->absbit);
+ __set_bit(ABS_PRESSURE, dev->absbit);
input_set_abs_params(dev, ABS_X, 0, DA9052_DISPLAY_X_MAX, 0, 0);
input_set_abs_params(dev, ABS_Y, 0, DA9052_DISPLAY_Y_MAX, 0, 0);
input_set_abs_params(dev, ABS_PRESSURE, 0, DA9052_TOUCH_PRESSURE_MAX,
@@ -1157,9 +1160,10 @@ static void da9052_tsi_penup_event(struct da9052_ts_priv *priv)
priv->debounce_over = FALSE;
priv->win_reference_valid = FALSE;
- printk(KERN_INFO "The raw data count is %d \n", priv->raw_data_cnt);
- printk(KERN_INFO "The OS data count is %d \n", priv->os_data_cnt);
- printk(KERN_INFO "PEN UP DECLARED \n");
+ printk(KERN_DEBUG "The raw data count is %d\n", priv->raw_data_cnt);
+ printk(KERN_DEBUG "The OS data count is %d\n", priv->os_data_cnt);
+ printk(KERN_DEBUG "PEN UP DECLARED\n");
+ input_report_abs(ip_dev, ABS_PRESSURE, 0);
input_report_abs(ip_dev, BTN_TOUCH, 0);
input_sync(ip_dev);
priv->os_data_cnt = 0;
@@ -1229,7 +1233,7 @@ fail:
success:
ret = 0;
- printk(KERN_INFO "Exiting PEN DOWN HANDLER \n");
+ printk(KERN_DEBUG "Exiting PEN DOWN HANDLER\n");
}
void da9052_tsi_data_ready_handler(struct da9052_eh_nb *eh_data, u32 event)
diff --git a/drivers/input/touchscreen/da9052_tsi_filter.c b/drivers/input/touchscreen/da9052_tsi_filter.c
index 16467edf386f..e97b5f221816 100644
--- a/drivers/input/touchscreen/da9052_tsi_filter.c
+++ b/drivers/input/touchscreen/da9052_tsi_filter.c
@@ -310,9 +310,10 @@ s32 da9052_tsi_raw_proc_thread(void *ptr)
}
if (calib_ok && range_ok) {
- input_report_abs(ip_dev, BTN_TOUCH, 1);
input_report_abs(ip_dev, ABS_X, coord.x);
input_report_abs(ip_dev, ABS_Y, coord.y);
+ input_report_abs(ip_dev, ABS_PRESSURE, coord.z);
+ input_report_abs(ip_dev, BTN_TOUCH, 1);
input_sync(ip_dev);
priv->os_data_cnt++;