From 08e5c91a299ae84b3397e0b50d0da57eaa92dd53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E6=9F=AF=E9=A3=9E=E9=9B=84?= Date: Wed, 12 May 2010 02:19:45 +0000 Subject: [PATCH] mod i2c --- drivers/i2c/busses/i2c-rk2818.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-rk2818.c b/drivers/i2c/busses/i2c-rk2818.c index 32f28c449bf2..6abc52fce7c7 100755 --- a/drivers/i2c/busses/i2c-rk2818.c +++ b/drivers/i2c/busses/i2c-rk2818.c @@ -246,13 +246,15 @@ static int rk2818_wait_while_busy(struct rk2818_i2c_data *i2c) { unsigned long timeout = jiffies + RK2818_I2C_TIMEOUT; unsigned long lsr; + unsigned int time = 10; dev_dbg(i2c->dev,"wait_while_busy"); while(!time_after(jiffies, timeout)) { lsr = readl(i2c->regs + I2C_LSR); if(!(lsr & I2C_LSR_BUSY)) return 0; - udelay(100); + udelay(time); + time *= 2; } return -ETIMEDOUT; } -- 2.34.1