
From: Alim Akhtar alim.akhtar@samsung.com
When no device is conneted on the i2c channel then i2c_probe command was taking too much of time (around 3 mins) to come out from the loop. Now reduced the delay loop to milisec value. This is tested on smdk5250 only. As i dont have s3c24x0 boards, so i cannt test on these baord.
Signed-off-by: Alim Akhtar alim.akhtar@samsung.com Signed-off-by: Doug Anderson dianders@chromium.org Signed-off-by: Akshay Saraswat akshay.s@samsung.com --- drivers/i2c/s3c24x0_i2c.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c index 769a2ba..789d103 100644 --- a/drivers/i2c/s3c24x0_i2c.c +++ b/drivers/i2c/s3c24x0_i2c.c @@ -111,7 +111,7 @@ static int WaitForXfer(struct s3c24x0_i2c *i2c) { int i;
- i = I2C_TIMEOUT * 10000; + i = I2C_TIMEOUT * 10; while (!(readl(&i2c->iiccon) & I2CCON_IRPND) && (i > 0)) { udelay(100); i--; @@ -292,7 +292,7 @@ static int i2c_transfer(struct s3c24x0_i2c *i2c, }
/* Check I2C bus idle */ - i = I2C_TIMEOUT * 1000; + i = I2C_TIMEOUT * 10; while ((readl(&i2c->iicstat) & I2CSTAT_BSY) && (i > 0)) { udelay(1000); i--;