summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-09 20:55:03 +0800
committerBen Dooks <ben-linux@fluff.org>2011-12-18 11:44:26 +0000
commit37de03ea1246c8280f6c8c6f61ea98973e9b9448 (patch)
tree12df4d31c02cc4630281db06c7c6874741289378
parenta36bfddd65b58dd8c8364dba919c04922e04f2f5 (diff)
downloadop-kernel-dev-37de03ea1246c8280f6c8c6f61ea98973e9b9448.zip
op-kernel-dev-37de03ea1246c8280f6c8c6f61ea98973e9b9448.tar.gz
i2c: i2c-s3c2410: Add a cpu_relax() to busy wait for bus idle
Be a bit more friendly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r--drivers/i2c/busses/i2c-s3c2410.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 2754cef8..37b2de1 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -534,6 +534,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
/* first, try busy waiting briefly */
do {
+ cpu_relax();
iicstat = readl(i2c->regs + S3C2410_IICSTAT);
} while ((iicstat & S3C2410_IICSTAT_START) && --spins);
OpenPOWER on IntegriCloud