diff options
author | Wolfgang Denk <wd@denx.de> | 2008-07-31 12:30:40 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-07-31 12:30:40 +0200 |
commit | f7c602ac8be0bcff4e573052c47e79bc46dab380 (patch) | |
tree | b987f7a2e05fc81167335ec949b17cbc9cd67df3 /drivers/i2c/fsl_i2c.c | |
parent | 3c95960e526b3b026da20201db64526f46faf14b (diff) | |
parent | 9196b44334c330cc13de2464c59181e4db71f549 (diff) |
Merge branch 'master' of ssh://10.10.0.7/home/wd/git/u-boot/master
Diffstat (limited to 'drivers/i2c/fsl_i2c.c')
-rw-r--r-- | drivers/i2c/fsl_i2c.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c index 9d5df8ad2ff..3f78e2f5c84 100644 --- a/drivers/i2c/fsl_i2c.c +++ b/drivers/i2c/fsl_i2c.c @@ -173,12 +173,11 @@ i2c_init(int speed, int slaveadd) static __inline__ int i2c_wait4bus(void) { - ulong timeval = get_timer(0); + unsigned long long timeval = get_ticks(); while (readb(&i2c_dev[i2c_bus_num]->sr) & I2C_SR_MBB) { - if (get_timer(timeval) > I2C_TIMEOUT) { + if ((get_ticks() - timeval) > usec2ticks(I2C_TIMEOUT)) return -1; - } } return 0; @@ -188,7 +187,7 @@ static __inline__ int i2c_wait(int write) { u32 csr; - ulong timeval = get_timer(0); + unsigned long long timeval = get_ticks(); do { csr = readb(&i2c_dev[i2c_bus_num]->sr); @@ -213,7 +212,7 @@ i2c_wait(int write) } return 0; - } while (get_timer (timeval) < I2C_TIMEOUT); + } while ((get_ticks() - timeval) < usec2ticks(I2C_TIMEOUT)); debug("i2c_wait: timed out\n"); return -1; |