diff options
Diffstat (limited to 'include/asm-generic/atomic.h')
| -rw-r--r-- | include/asm-generic/atomic.h | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index e37963c1df4..9c79e760345 100644 --- a/include/asm-generic/atomic.h +++ b/include/asm-generic/atomic.h @@ -15,6 +15,9 @@ #ifndef __ASM_GENERIC_ATOMIC_H #define __ASM_GENERIC_ATOMIC_H +#include <asm/cmpxchg.h> +#include <asm/barrier.h> + #ifdef CONFIG_SMP /* Force people to define core atomics */ # if !defined(atomic_add_return) || !defined(atomic_sub_return) || \ @@ -52,7 +55,6 @@ #define atomic_set(v, i) (((v)->counter) = (i)) #include <linux/irqflags.h> -#include <asm/system.h> /** * atomic_add_return - add integer to atomic variable @@ -135,12 +137,6 @@ static inline void atomic_dec(atomic_t *v) #define atomic_xchg(ptr, v) (xchg(&(ptr)->counter, (v))) #define atomic_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new))) -#define cmpxchg_local(ptr, o, n) \ - ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ - (unsigned long)(n), sizeof(*(ptr)))) - -#define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) - static inline int __atomic_add_unless(atomic_t *v, int a, int u) { int c, old; @@ -187,11 +183,5 @@ static inline void atomic_set_mask(unsigned int mask, atomic_t *v) } #endif -/* Assume that atomic operations are already serializing */ -#define smp_mb__before_atomic_dec() barrier() -#define smp_mb__after_atomic_dec() barrier() -#define smp_mb__before_atomic_inc() barrier() -#define smp_mb__after_atomic_inc() barrier() - #endif /* __KERNEL__ */ #endif /* __ASM_GENERIC_ATOMIC_H */ |
