iio: imu: mpu6050: fix INV_MPU6050_REG_UP_TIME delay
authorMatt Ranostay <matt.ranostay@intel.com>
Mon, 22 Feb 2016 21:39:08 +0000 (13:39 -0800)
committerJonathan Cameron <jic23@kernel.org>
Thu, 25 Feb 2016 19:48:47 +0000 (19:48 +0000)
replace msleep(INV_MPU6050_REG_UP_TIME) with usleep_range calls
due to fact the wait time is under 20 milliseconds.

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h

index 5396dde..1578493 100644 (file)
@@ -151,7 +151,8 @@ int inv_mpu6050_set_power_itg(struct inv_mpu6050_state *st, bool power_on)
                return result;
 
        if (power_on)
-               msleep(INV_MPU6050_REG_UP_TIME);
+               usleep_range(INV_MPU6050_REG_UP_TIME_MIN,
+                            INV_MPU6050_REG_UP_TIME_MAX);
 
        return 0;
 }
index 71bdaa3..8d2b74e 100644 (file)
@@ -68,7 +68,8 @@ static int inv_mpu6050_select_bypass(struct i2c_adapter *adap, void *mux_priv,
                if (ret)
                        goto write_error;
 
-               msleep(INV_MPU6050_REG_UP_TIME);
+               usleep_range(INV_MPU6050_REG_UP_TIME_MIN,
+                            INV_MPU6050_REG_UP_TIME_MAX);
        }
        if (!ret) {
                st->powerup_count++;
index fcc2f3d..243324d 100644 (file)
@@ -172,10 +172,15 @@ struct inv_mpu6050_state {
 #define INV_MPU6050_BYTES_PER_3AXIS_SENSOR   6
 #define INV_MPU6050_FIFO_COUNT_BYTE          2
 #define INV_MPU6050_FIFO_THRESHOLD           500
+
+/* delay time in milliseconds */
 #define INV_MPU6050_POWER_UP_TIME            100
 #define INV_MPU6050_TEMP_UP_TIME             100
 #define INV_MPU6050_SENSOR_UP_TIME           30
-#define INV_MPU6050_REG_UP_TIME              5
+
+/* delay time in microseconds */
+#define INV_MPU6050_REG_UP_TIME_MIN          5000
+#define INV_MPU6050_REG_UP_TIME_MAX          10000
 
 #define INV_MPU6050_TEMP_OFFSET                     12421
 #define INV_MPU6050_TEMP_SCALE               2941