diff options
Diffstat (limited to 'include/asm-powerpc/atomic.h')
-rw-r--r-- | include/asm-powerpc/atomic.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/include/asm-powerpc/atomic.h b/include/asm-powerpc/atomic.h index 2ce4b6b7b348..c44810b9d322 100644 --- a/include/asm-powerpc/atomic.h +++ b/include/asm-powerpc/atomic.h | |||
@@ -11,6 +11,7 @@ typedef struct { volatile int counter; } atomic_t; | |||
11 | #include <linux/compiler.h> | 11 | #include <linux/compiler.h> |
12 | #include <asm/synch.h> | 12 | #include <asm/synch.h> |
13 | #include <asm/asm-compat.h> | 13 | #include <asm/asm-compat.h> |
14 | #include <asm/system.h> | ||
14 | 15 | ||
15 | #define ATOMIC_INIT(i) { (i) } | 16 | #define ATOMIC_INIT(i) { (i) } |
16 | 17 | ||
@@ -165,8 +166,7 @@ static __inline__ int atomic_dec_return(atomic_t *v) | |||
165 | return t; | 166 | return t; |
166 | } | 167 | } |
167 | 168 | ||
168 | #define atomic_cmpxchg(v, o, n) \ | 169 | #define atomic_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n))) |
169 | ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n))) | ||
170 | #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) | 170 | #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) |
171 | 171 | ||
172 | /** | 172 | /** |
@@ -414,8 +414,7 @@ static __inline__ long atomic64_dec_if_positive(atomic64_t *v) | |||
414 | return t; | 414 | return t; |
415 | } | 415 | } |
416 | 416 | ||
417 | #define atomic64_cmpxchg(v, o, n) \ | 417 | #define atomic64_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n))) |
418 | ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n))) | ||
419 | #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) | 418 | #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) |
420 | 419 | ||
421 | /** | 420 | /** |