ARM: mach-shmobile: r8a7740: cleanup I2C workaround method
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 13 Apr 2012 09:41:06 +0000 (02:41 -0700)
committerRafael J. Wysocki <rjw@sisk.pl>
Sat, 12 May 2012 20:23:59 +0000 (22:23 +0200)
Current workaround of I2C on r8a7740 used mdelay(),
but it was an overkill.
This patch cleans up the workaround delay.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Simon Horman <horms@verge.net.au>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
arch/arm/mach-shmobile/setup-r8a7740.c

index 14edb5cffa7f23023d8224d055af3e7974a6807d..34a1548dbda6ca201159d8041b61bb8ec854ef16 100644 (file)
@@ -350,19 +350,19 @@ static void r8a7740_i2c_workaround(struct platform_device *pdev)
        i2c_write(reg, ICSTART, i2c_read(reg, ICSTART) | 0x10);
        i2c_read(reg, ICSTART); /* dummy read */
 
-       mdelay(100);
+       udelay(10);
 
        i2c_write(reg, ICCR, 0x01);
-       i2c_read(reg, ICCR);
        i2c_write(reg, ICSTART, 0x00);
-       i2c_read(reg, ICSTART);
+
+       udelay(10);
 
        i2c_write(reg, ICCR, 0x10);
-       mdelay(100);
+       udelay(10);
        i2c_write(reg, ICCR, 0x00);
-       mdelay(100);
+       udelay(10);
        i2c_write(reg, ICCR, 0x10);
-       mdelay(100);
+       udelay(10);
 
        iounmap(reg);
 }