PPC4xx: Simplified post_word_{load, store}
authorGrant Erickson <gerickson@nuovations.com>
Wed, 21 May 2008 20:28:30 +0000 (13:28 -0700)
committerStefan Roese <sr@denx.de>
Tue, 3 Jun 2008 18:20:01 +0000 (20:20 +0200)
This patch simplifies post_word_{load,store} by using the preprocessor
to eliminate redundant, copy-and-pasted code.

Signed-off-by: Grant Erickson <gerickson@nuovations.com>
cpu/ppc4xx/commproc.c

index 22156dd..8b2954c 100644 (file)
 
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 
-#if defined(CFG_POST_ALT_WORD_ADDR)
-void post_word_store (ulong a)
-{
-       out_be32((void *)CFG_POST_ALT_WORD_ADDR, a);
-}
+#if defined(CFG_POST_WORD_ADDR)
+# define _POST_ADDR    ((CFG_OCM_DATA_ADDR) + (CFG_POST_WORD_ADDR))
+#elif defined(CFG_POST_ALT_WORD_ADDR)
+# define _POST_ADDR    (CFG_POST_ALT_WORD_ADDR)
+#endif
 
-ulong post_word_load (void)
-{
-       return in_be32((void *)CFG_POST_ALT_WORD_ADDR);
-}
-#else /* CFG_POST_ALT_WORD_ADDR */
 void post_word_store (ulong a)
 {
-       volatile void *save_addr = (volatile void *)(CFG_OCM_DATA_ADDR + CFG_POST_WORD_ADDR);
-       *(volatile ulong *) save_addr = a;
+       volatile void *save_addr = (volatile void *)(_POST_ADDR);
+
+       out_be32(save_addr, a);
 }
 
 ulong post_word_load (void)
 {
-       volatile void *save_addr = (volatile void *)(CFG_OCM_DATA_ADDR + CFG_POST_WORD_ADDR);
-       return *(volatile ulong *) save_addr;
+       volatile void *save_addr = (volatile void *)(_POST_ADDR);
+
+       return in_be32(save_addr);
 }
-#endif /* CFG_POST_ALT_WORD_ADDR */
 
 #endif /* CONFIG_POST || CONFIG_LOGBUFFER*/