[coreboot] [PATCH] v3: smbus_delay calls udelay

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Aug 22 03:44:32 CEST 2008


smbus_delay() performs its own inb(0x80). We can use the generic
udelay() instead which does the same, and achieve better abstraction.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: corebootv3-stuff3/southbridge/amd/cs5536/smbus_initram.c
===================================================================
--- corebootv3-stuff3/southbridge/amd/cs5536/smbus_initram.c	(Revision 798)
+++ corebootv3-stuff3/southbridge/amd/cs5536/smbus_initram.c	(Arbeitskopie)
@@ -69,7 +69,7 @@
  */
 static void smbus_delay(void)
 {
-	/* inb(0x80); */
+	/* udelay(1); */
 }
 
 /**
Index: corebootv3-stuff3/southbridge/nvidia/mcp55/mcp55_smbus.h
===================================================================
--- corebootv3-stuff3/southbridge/nvidia/mcp55/mcp55_smbus.h	(Revision 798)
+++ corebootv3-stuff3/southbridge/nvidia/mcp55/mcp55_smbus.h	(Arbeitskopie)
@@ -39,8 +39,7 @@
 
 static inline void smbus_delay(void)
 {
-	/* let's hope this is not optimized out */
-	(void) inb(0x80);
+	udelay(1);
 }
 
 int do_smbus_recv_byte(u16 smbus_io_base, u8 device);


-- 
http://www.hailfinger.org/





More information about the coreboot mailing list