blackfin: asm: fix blackfin.h broken
authorBob Liu <lliubbo@gmail.com>
Sat, 28 Apr 2012 09:12:32 +0000 (17:12 +0800)
committerBob Liu <lliubbo@gmail.com>
Mon, 21 May 2012 06:54:08 +0000 (14:54 +0800)
do{...}while makes no sense in __ASSEMBLY__ code paths.  now
kernels fail to build:
arch/blackfin/mach-bf561/atomic.S: Assembler messages:
arch/blackfin/mach-bf561/atomic.S:48: Error: syntax error. Input text
was do.
arch/blackfin/mach-bf561/atomic.S:48: Error:
arch/blackfin/mach-bf561/atomic.S:48: Error: syntax error. Input text
was }.
arch/blackfin/mach-bf561/atomic.S:48: Error:
arch/blackfin/mach-bf561/atomic.S:53: Error: syntax error. Input text
was do.
arch/blackfin/mach-bf561/atomic.S:53: Error:
arch/blackfin/mach-bf561/atomic.S:53: Error: syntax error. Input text
was }.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
arch/blackfin/include/asm/blackfin.h

index 7be5368..f111f36 100644 (file)
@@ -63,20 +63,16 @@ static inline void CSYNC(void)
 
 #if ANOMALY_05000312 || ANOMALY_05000244
 #define SSYNC(scratch) \
-do {                   \
        cli scratch;    \
        nop; nop; nop;  \
        SSYNC;          \
-       sti scratch;    \
-} while (0)
+       sti scratch;
 
 #define CSYNC(scratch) \
-do {                   \
        cli scratch;    \
        nop; nop; nop;  \
        CSYNC;          \
-       sti scratch;    \
-} while (0)
+       sti scratch;
 
 #else
 #define SSYNC(scratch) SSYNC;