patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-alpha / atomic.h
index cd253c8..1b383e3 100644 (file)
@@ -115,6 +115,8 @@ static __inline__ long atomic_add_return(int i, atomic_t * v)
        return result;
 }
 
+#define atomic_add_negative(a, v)      (atomic_add_return((a), (v)) < 0)
+
 static __inline__ long atomic64_add_return(long i, atomic64_t * v)
 {
        long temp, result;
@@ -178,6 +180,7 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
 #define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
 #define atomic64_sub_and_test(i,v) (atomic64_sub_return((i), (v)) == 0)
 
+#define atomic_inc_and_test(v) (atomic_add_return(1, (v)) == 0)
 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
 #define atomic64_dec_and_test(v) (atomic64_sub_return(1, (v)) == 0)