aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/atomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic/atomic.h')
-rw-r--r--include/asm-generic/atomic.h33
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
189static inline int atomic_add_negative(int i, atomic_t *v)
190{
191 return atomic_add_return(i, v) < 0;
192}
193
194static inline void atomic_add(int i, atomic_t *v) 189static 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
204static inline void atomic_inc(atomic_t *v)
205{
206 atomic_add_return(1, v);
207}
208
209static 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
225static 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 */