summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohsan Habibi <mohsan@motorola.com>2014-06-23 18:18:09 -0400
committerMohsan Habibi <mohsan@motorola.com>2014-06-26 02:58:18 -0400
commit712386f64eaa872d712570f99a70b4aa9c7db834 (patch)
tree15201bbfd6303a51bb3ca6b90b340aa7c2a1855f
parent169059690f51fbe5ea598bec10c1c82cd582db1b (diff)
downloadolio-linux-3.10-712386f64eaa872d712570f99a70b4aa9c7db834.tar.xz
olio-linux-3.10-712386f64eaa872d712570f99a70b4aa9c7db834.zip
IKXCLOCK-2527 i2c: omap: use usleep_range instead of msleep
Using msleep for low values such as 1ms will often sleep longer than ~20ms, which is a unnecessarily high delay time, especially in situations such as waiting for the bus to become free where we want to resume i2c as soon as it is ready, not 20ms later. Change-Id: If1f32c3ed3b6c3c109c85392442babc3c95ce030 Signed-off-by: Mohsan Habibi <mohsan@motorola.com>
-rw-r--r--drivers/i2c/busses/i2c-omap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 8d7c61c3832..ca702aa7f81 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -322,7 +322,7 @@ static int omap_i2c_reset(struct omap_i2c_dev *dev)
"for controller reset\n");
return -ETIMEDOUT;
}
- msleep(1);
+ usleep_range(1000, 2000);
}
/* SYSC register is cleared by the reset; rewrite it */
@@ -459,7 +459,7 @@ static int omap_i2c_wait_for_bb(struct omap_i2c_dev *dev)
dev_warn(dev->dev, "timeout waiting for bus ready\n");
return -ETIMEDOUT;
}
- msleep(1);
+ usleep_range(1000, 2000);
}
return 0;
@@ -644,7 +644,7 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
OMAP_I2C_SYSTEST_FREE |
(2 << OMAP_I2C_SYSTEST_TMODE_SHIFT));
omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, val);
- msleep(1);
+ usleep_range(1000, 2000);
omap_i2c_init(dev);
r = omap_i2c_wait_for_bb(dev);
if (r < 0) {