patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-v850 / atomic.h
index 582de76..8284aa7 100644 (file)
@@ -76,6 +76,16 @@ static __inline__ void atomic_clear_mask (unsigned long mask, unsigned long *add
 #define atomic_inc(v)          atomic_inc_return (v)
 #define atomic_dec(v)          atomic_dec_return (v)
 
+/*
+ * atomic_inc_and_test - increment and test
+ * @v: pointer of type atomic_t
+ *
+ * Atomically increments @v by 1
+ * and returns true if the result is zero, or false for all
+ * other cases.
+ */
+#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0)
+
 #define atomic_sub_and_test(i,v)       (atomic_sub_return ((i), (v)) == 0)
 #define atomic_dec_and_test(v)         (atomic_sub_return (1, (v)) == 0)
 #define atomic_add_negative(i,v)       (atomic_add_return ((i), (v)) < 0)