Input: edt_ft5x06 - change msleep to usleep_range for small msecs
authorAniroop Mathur <a.mathur@samsung.com>
Wed, 4 Jan 2017 18:57:51 +0000 (10:57 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 6 Jan 2017 18:31:52 +0000 (10:31 -0800)
msleep(1~20) may not do what the caller intends, and will often sleep
longer (~20 ms actual sleep for any value given in the 1~20ms range).  This
is not the desired behaviour for many cases like device resume time, device
suspend time, device enable time, retry logic, etc.  Thus, change msleep to
usleep_range for precise wakeups.

Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
Acked-by: Simon Budig <simon.budig@kernelconcepts.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/edt-ft5x06.c

index 28466e3..8fc629f 100644 (file)
@@ -67,7 +67,7 @@
 #define EDT_SWITCH_MODE_RETRIES                10
 #define EDT_SWITCH_MODE_DELAY          5 /* msec */
 #define EDT_RAW_DATA_RETRIES           100
-#define EDT_RAW_DATA_DELAY             1 /* msec */
+#define EDT_RAW_DATA_DELAY             1000 /* usec */
 
 enum edt_ver {
        M06,
@@ -664,7 +664,7 @@ static ssize_t edt_ft5x06_debugfs_raw_data_read(struct file *file,
        }
 
        do {
-               msleep(EDT_RAW_DATA_DELAY);
+               usleep_range(EDT_RAW_DATA_DELAY, EDT_RAW_DATA_DELAY + 100);
                val = edt_ft5x06_register_read(tsdata, 0x08);
                if (val < 1)
                        break;