Blackfin: bf561: fix mem_map.h SMP overrides
authorGraf Yang <graf.yang@analog.com>
Mon, 21 Sep 2009 11:51:31 +0000 (11:51 +0000)
committerMike Frysinger <vapier@gentoo.org>
Mon, 10 Jan 2011 12:18:13 +0000 (07:18 -0500)
The BF561 mem_map.h header has the __ASSEMBLY__/CONFIG_SMP checks out
of order which leads to build errors for assembly code that happens to
include this file.

Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/mach-bf561/include/mach/mem_map.h

index 5b96ea5..4cc9199 100644 (file)
 #define COREA_L1_SCRATCH_START 0xFFB00000
 #define COREB_L1_SCRATCH_START 0xFF700000
 
-#ifdef __ASSEMBLY__
+#ifdef CONFIG_SMP
 
 /*
  * The following macros both return the address of the PDA for the
  * is allowed to use the specified Dreg for determining the PDA
  * address to be returned into Preg.
  */
-#ifdef CONFIG_SMP
-#define GET_PDA_SAFE(preg)             \
+# define GET_PDA_SAFE(preg)            \
        preg.l = lo(DSPID);             \
        preg.h = hi(DSPID);             \
        preg = [preg];                  \
        preg = [preg];                  \
 4:
 
-#define GET_PDA(preg, dreg)            \
+# define GET_PDA(preg, dreg)           \
        preg.l = lo(DSPID);             \
        preg.h = hi(DSPID);             \
        dreg = [preg];                  \
        preg = [preg];                  \
 1:                                     \
 
-#define GET_CPUID(preg, dreg)          \
+# define GET_CPUID(preg, dreg)         \
        preg.l = lo(DSPID);             \
        preg.h = hi(DSPID);             \
        dreg = [preg];                  \
        dreg = ROT dreg BY -1;          \
        dreg = CC;
 
+# ifndef __ASSEMBLY__
+
+#  include <asm/processor.h>
+
 static inline unsigned long get_l1_scratch_start_cpu(int cpu)
 {
        return cpu ? COREB_L1_SCRATCH_START : COREA_L1_SCRATCH_START;
@@ -210,8 +213,7 @@ static inline unsigned long get_l1_data_b_start(void)
        return get_l1_data_b_start_cpu(blackfin_core_id());
 }
 
+# endif /* __ASSEMBLY__ */
 #endif /* CONFIG_SMP */
 
-#endif /* __ASSEMBLY__ */
-
 #endif