]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
input: touchscreen: raydium: update to 66.1
authorJordan Nien <jnien@nvidia.com>
Thu, 26 Jun 2014 03:08:37 +0000 (11:08 +0800)
committerTodd Poynter <tpoynter@nvidia.com>
Thu, 26 Jun 2014 21:42:09 +0000 (14:42 -0700)
66.1 Change list:
1. Add mutex_lock/mutex_unlock protection in KRL_CMD_FLUSH_QU command table.
2. fix missed touch when fast tapping with stylus.
3. fix report mode switch problem.
3. fix service busy problem.

Bug 200006260
Bug 1515264

Change-Id: Ieab295c83448f6ab5455e4c9f1d60d7576688176
Signed-off-by: Jordan Nien <jnien@nvidia.com>
Reviewed-on: http://git-master/r/428734
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Hon Fei Chong <hchong@nvidia.com>
Reviewed-by: Todd Poynter <tpoynter@nvidia.com>
drivers/input/touchscreen/rm31080a_ts.c
include/linux/spi/rm31080a_ts.h

index 770c8dac01f6120f89aa870f18027ac48e48ef4d..c6250523230b7215fdd20bbd5c634b3329263880 100644 (file)
@@ -104,6 +104,7 @@ enum RM_SLOW_SCAN_LEVELS {
        RM_SLOW_SCAN_LEVEL_COUNT
 };
 #endif
+
 enum RM_TEST_MODE {
        RM_TEST_MODE_NULL,
        RM_TEST_MODE_IDLE_SHOW,
@@ -111,6 +112,7 @@ enum RM_TEST_MODE {
        RM_TEST_MODE_CALC_TIME_SHOW,
        RM_TEST_MODE_MAX
 };
+
 #ifdef ENABLE_SMOOTH_LEVEL
 #define RM_SMOOTH_LEVEL_NORMAL         0
 #define RM_SMOOTH_LEVEL_MAX                    4
@@ -2507,7 +2509,7 @@ static ssize_t rm_tch_report_mode_handler(const char *buf, size_t count)
        ssize_t error;
        ssize_t ret;
 
-       if (count != 2)
+       if (count < 2)
                return -EINVAL;
 
        ret = (ssize_t) count;
@@ -2517,7 +2519,8 @@ static ssize_t rm_tch_report_mode_handler(const char *buf, size_t count)
                ret = error;
        else {
                if ((val >= EVENT_REPORT_MODE_STYLUS_ERASER_FINGER) &&
-                       (val < EVENT_REPORT_MODE_TYPE_NUM))
+                       (val < (EVENT_REPORT_MODE_TYPE_NUM |
+                       EVENT_REPORT_MODE_ALL_TYPE_POINTS)))
                        rm_tch_report_mode_change(val);
                else
                        ret = RETURN_FAIL;
@@ -2530,7 +2533,7 @@ static ssize_t rm_tch_report_mode_show(struct device *dev,
        struct device_attribute *attr,
        char *buf)
 {
-       return sprintf(buf, "Raydium Touch Report Mode : %d\n",
+       return sprintf(buf, "Raydium Touch Report Mode : 0x%x\n",
                g_st_ctrl.u8_event_report_mode);
 }
 
index 0ae877e4f8edd1be7a0cd9910927d2931e7116fe..4bd48e0861930bf97b65c16dffe2356eda49b96b 100644 (file)
 #define EVENT_REPORT_MODE_STYLUS_ONLY                          0x05
 #define EVENT_REPORT_MODE_ERASER_ONLY                          0x06
 #define EVENT_REPORT_MODE_TYPE_NUM                                     0x07
+#define EVENT_REPORT_MODE_ALL_TYPE_POINTS           0x10
+
 /***************************************************************************
  *     DO NOT MODIFY - Kernel Point Report Definition
  *     NOTE: Need to sync with HAL