aboutsummaryrefslogtreecommitdiff
path: root/cpu/ppc4xx/commproc.c
diff options
context:
space:
mode:
authorGrant Erickson <gerickson@nuovations.com>2008-05-21 13:28:30 -0700
committerWolfgang Denk <wd@denx.de>2008-06-03 21:22:26 +0200
commit22f371b63038a4ecab04068877c1089e51a01ba1 (patch)
treee7d5f76bbfe872a6fa4339b32f7a25f5dc531664 /cpu/ppc4xx/commproc.c
parent4d91d1df2f16b511ab80dec50c80e050ba0d841e (diff)
PPC4xx: Simplified post_word_{load, store}
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>
Diffstat (limited to 'cpu/ppc4xx/commproc.c')
-rw-r--r--cpu/ppc4xx/commproc.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/cpu/ppc4xx/commproc.c b/cpu/ppc4xx/commproc.c
index 22156dd9d..8b2954c16 100644
--- a/cpu/ppc4xx/commproc.c
+++ b/cpu/ppc4xx/commproc.c
@@ -30,29 +30,25 @@
#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*/