[U-Boot-Users] [PATCH 7/9] Replace ace_readw/ace_writeb functions with macros

Grant Likely grant.likely at secretlab.ca
Sat Feb 17 20:34:52 CET 2007


Register read/write does not need to be wrapped in a full function.  The
patch replaces them with macros.

Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
---
 drivers/systemace.c |   36 ++++++++++--------------------------
 1 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/drivers/systemace.c b/drivers/systemace.c
index 8dd98d0..3f329f9 100644
--- a/drivers/systemace.c
+++ b/drivers/systemace.c
@@ -53,38 +53,22 @@ #ifdef CONFIG_SYSTEMACE
  * to be the base address for the chip, usually in the local
  * peripheral bus.
  */
-static unsigned ace_readw(unsigned offset)
-{
-#if (CFG_SYSTEMACE_WIDTH == 8)
-	u16 temp;
-
-#if !defined(__BIG_ENDIAN)
-	temp = ((u16) readb(CFG_SYSTEMACE_BASE + offset) << 8);
-	temp |= (u16) readb(CFG_SYSTEMACE_BASE + offset + 1);
-#else
-	temp = (u16) readb(CFG_SYSTEMACE_BASE + offset);
-	temp |= ((u16) readb(CFG_SYSTEMACE_BASE + offset + 1) << 8);
-#endif
-	return temp;
-#else
-	return readw(CFG_SYSTEMACE_BASE + offset);
-#endif
-}
-
-static void ace_writew(unsigned val, unsigned offset)
-{
 #if (CFG_SYSTEMACE_WIDTH == 8)
 #if !defined(__BIG_ENDIAN)
-	writeb((u8) (val >> 8), CFG_SYSTEMACE_BASE + offset);
-	writeb((u8) val, CFG_SYSTEMACE_BASE + offset + 1);
+#define ace_readw(off) ((readb(CFG_SYSTEMACE_BASE+off)<<8) | \
+                        (readb(CFG_SYSTEMACE_BASE+off+1)))
+#define ace_write(val, off) {writeb(val>>8, CFG_SYSTEMACE_BASE+off); \
+                             writeb(val, CFG_SYSTEMACE_BASE+off+1);}
 #else
-	writeb((u8) val, CFG_SYSTEMACE_BASE + offset);
-	writeb((u8) (val >> 8), CFG_SYSTEMACE_BASE + offset + 1);
+#define ace_readw(off) ((readb(CFG_SYSTEMACE_BASE+off)) | \
+                        (readb(CFG_SYSTEMACE_BASE+off+1)<<8))
+#define ace_write(val, off) {writeb(val, CFG_SYSTEMACE_BASE+off); \
+                             writeb(val>>8, CFG_SYSTEMACE_BASE+off+1);}
 #endif
 #else
-	writew(val, CFG_SYSTEMACE_BASE + offset);
+#define ace_readw(off) (readw(CFG_SYSTEMACE_BASE+off))
+#define ace_writew(val, off) (writew(val, CFG_SYSTEMACE_BASE+off))
 #endif
-}
 
 /* */
 
-- 
1.4.3.rc2.g0503





More information about the U-Boot mailing list