diff options
Diffstat (limited to 'include/asm-generic/atomic.h')
| -rw-r--r-- | include/asm-generic/atomic.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index abe6dd9ca2a8..13324aa828eb 100644 --- a/include/asm-generic/atomic.h +++ b/include/asm-generic/atomic.h | |||
| @@ -186,11 +186,6 @@ ATOMIC_OP(xor, ^) | |||
| 186 | 186 | ||
| 187 | #include <linux/irqflags.h> | 187 | #include <linux/irqflags.h> |
| 188 | 188 | ||
| 189 | static inline int atomic_add_negative(int i, atomic_t *v) | ||
| 190 | { | ||
| 191 | return atomic_add_return(i, v) < 0; | ||
| 192 | } | ||
| 193 | |||
| 194 | static inline void atomic_add(int i, atomic_t *v) | 189 | static inline void atomic_add(int i, atomic_t *v) |
| 195 | { | 190 | { |
| 196 | atomic_add_return(i, v); | 191 | atomic_add_return(i, v); |
| @@ -201,35 +196,7 @@ static inline void atomic_sub(int i, atomic_t *v) | |||
| 201 | atomic_sub_return(i, v); | 196 | atomic_sub_return(i, v); |
| 202 | } | 197 | } |
| 203 | 198 | ||
| 204 | static inline void atomic_inc(atomic_t *v) | ||
| 205 | { | ||
| 206 | atomic_add_return(1, v); | ||
| 207 | } | ||
| 208 | |||
| 209 | static inline void atomic_dec(atomic_t *v) | ||
| 210 | { | ||
| 211 | atomic_sub_return(1, v); | ||
| 212 | } | ||
| 213 | |||
| 214 | #define atomic_dec_return(v) atomic_sub_return(1, (v)) | ||
| 215 | #define atomic_inc_return(v) atomic_add_return(1, (v)) | ||
| 216 | |||
| 217 | #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) | ||
| 218 | #define atomic_dec_and_test(v) (atomic_dec_return(v) == 0) | ||
| 219 | #define atomic_inc_and_test(v) (atomic_inc_return(v) == 0) | ||
| 220 | |||
| 221 | #define atomic_xchg(ptr, v) (xchg(&(ptr)->counter, (v))) | 199 | #define atomic_xchg(ptr, v) (xchg(&(ptr)->counter, (v))) |
| 222 | #define atomic_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new))) | 200 | #define atomic_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new))) |
| 223 | 201 | ||
| 224 | #ifndef __atomic_add_unless | ||
| 225 | static inline int __atomic_add_unless(atomic_t *v, int a, int u) | ||
| 226 | { | ||
| 227 | int c, old; | ||
| 228 | c = atomic_read(v); | ||
| 229 | while (c != u && (old = atomic_cmpxchg(v, c, c + a)) != c) | ||
| 230 | c = old; | ||
| 231 | return c; | ||
| 232 | } | ||
| 233 | #endif | ||
| 234 | |||
| 235 | #endif /* __ASM_GENERIC_ATOMIC_H */ | 202 | #endif /* __ASM_GENERIC_ATOMIC_H */ |
