fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-frv / atomic.h
index 5d9f84b..066386a 100644 (file)
@@ -14,7 +14,6 @@
 #ifndef _ASM_ATOMIC_H
 #define _ASM_ATOMIC_H
 
-#include <linux/config.h>
 #include <linux/types.h>
 #include <asm/spr-regs.h>
 
@@ -228,7 +227,7 @@ extern unsigned long atomic_test_and_XOR_mask(unsigned long mask, volatile unsig
                break;                                                          \
                                                                                \
        default:                                                                \
-               __xg_orig = 0;                                                  \
+               __xg_orig = (__typeof__(__xg_orig))0;                           \
                asm volatile("break");                                          \
                break;                                                          \
        }                                                                       \
@@ -248,7 +247,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 = 0;                                                                  \
+               __xg_orig = (__typeof__(__xg_orig))0;                                                                   \
                asm volatile("break");                                                          \
                break;                                                                          \
        }                                                                                       \