
On Wed, 2010-10-20 at 08:08 +0200, Heiko Schocher wrote:
Hello Steve,
Steve Sakoman wrote:
This patch removes the "magic number" delays and instead monitors state changes in the status register bits.
Signed-off-by: Steve Sakoman steve.sakoman@linaro.org
drivers/i2c/omap24xx_i2c.c | 76 +++++++++++++++++++++++-------------------- 1 files changed, 41 insertions(+), 35 deletions(-)
After trying this for the omap3_beagle board, I get an compiler warning:
[hs@pollux u-boot]$ ./MAKEALL omap3_beagle Configuring for omap3_beagle board... omap24xx_i2c.c: In function 'i2c_write_byte': omap24xx_i2c.c:221: warning: unused variable 'stat'
Hmm . . . I can swear I fixed that! Must be getting old :-)
text data bss dec hex filename 218103 11412 202384 431899 6971b ./u-boot
--------------------- SUMMARY ---------------------------- Boards compiled: 1 Boards with warnings or errors: 1 ( omap3_beagle )
[hs@pollux u-boot]$
following patch fixes it.
BTW: Just for the record, your patchset works fine and faster on the beagle board, for example:
before your after your patchset patchset
i2c probe 9s 0,4s i2c md 48 0 100 17s 1s
I'm glad that you see the same speedups!
What tool do you use to measure the speedups?
would you post a v2 of this patch, and I add my "Tested-by" to it, or is it OK, if I add my fix patch to u-boot-i2c master?
I've posted v2 with your "Tested-by" and the warning fix.
If it helps, the patches are in my omap4-next-upstream branch:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-boot.git;a=shortlog;h=refs/hea...
Thanks for testing and for the comments!
Steve
From 01c6c59014c4174ad4d13944d740d3491d9cf137 Mon Sep 17 00:00:00 2001 From: Heiko Schocher hs@denx.de Date: Wed, 20 Oct 2010 07:57:05 +0200 Subject: [PATCH] ARMV7: OMAP: I2C driver: fix compiler warning
Signed-off-by: Heiko Schocher hs@denx.de
drivers/i2c/omap24xx_i2c.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c index eb153fb..a72d1a1 100644 --- a/drivers/i2c/omap24xx_i2c.c +++ b/drivers/i2c/omap24xx_i2c.c @@ -218,7 +218,7 @@ read_exit: static int i2c_write_byte (u8 devaddr, u8 regoffset, u8 value) { int i2c_error = 0;
- u16 status, stat;
u16 status;
/* wait until bus not busy */ wait_for_bb ();
bye, Heiko