linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-frv / atomic.h
index 066386a..5d9f84b 100644 (file)
@@ -14,6 +14,7 @@
 #ifndef _ASM_ATOMIC_H
 #define _ASM_ATOMIC_H
 
+#include <linux/config.h>
 #include <linux/types.h>
 #include <asm/spr-regs.h>
 
@@ -227,7 +228,7 @@ extern unsigned long atomic_test_and_XOR_mask(unsigned long mask, volatile unsig
                break;                                                          \
                                                                                \
        default:                                                                \
-               __xg_orig = (__typeof__(__xg_orig))0;                           \
+               __xg_orig = 0;                                                  \
                asm volatile("break");                                          \
                break;                                                          \
        }                                                                       \
@@ -247,7 +248,7 @@ extern uint32_t __xchg_32(uint32_t i, volatile void *v);
        switch (sizeof(__xg_orig)) {                                                            \
        case 4: __xg_orig = (__typeof__(*(ptr))) __xchg_32((uint32_t) x, __xg_ptr);     break;  \
        default:                                                                                \
-               __xg_orig = (__typeof__(__xg_orig))0;                                                                   \
+               __xg_orig = 0;                                                                  \
                asm volatile("break");                                                          \
                break;                                                                          \
        }                                                                                       \