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;
#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)