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.mat...@samsung.com>
---
 drivers/input/touchscreen/edt-ft5x06.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/edt-ft5x06.c 
b/drivers/input/touchscreen/edt-ft5x06.c
index 703e295..379dd31 100644
--- a/drivers/input/touchscreen/edt-ft5x06.c
+++ b/drivers/input/touchscreen/edt-ft5x06.c
@@ -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;
-- 
2.6.2

Reply via email to