X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-v850%2Fatomic.h;h=8284aa7363f21ff7c75fb4377a297b34ba2fb2b6;hb=746550cff061581f89c687ada8523670768364f2;hp=582de7674ea8fa125e820b413c8b1b460fbfa286;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/include/asm-v850/atomic.h b/include/asm-v850/atomic.h index 582de7674..8284aa736 100644 --- a/include/asm-v850/atomic.h +++ b/include/asm-v850/atomic.h @@ -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)