X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-h8300%2Fatomic.h;h=7230f650799501e59044322fd7196f72eddb4400;hb=746550cff061581f89c687ada8523670768364f2;hp=e9595c099c58b058ea78a10151edf2b89abbfc04;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/include/asm-h8300/atomic.h b/include/asm-h8300/atomic.h index e9595c099..7230f6507 100644 --- a/include/asm-h8300/atomic.h +++ b/include/asm-h8300/atomic.h @@ -25,6 +25,7 @@ static __inline__ int atomic_add_return(int i, atomic_t *v) } #define atomic_add(i, v) atomic_add_return(i, v) +#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0) static __inline__ int atomic_sub_return(int i, atomic_t *v) { @@ -49,6 +50,16 @@ static __inline__ int atomic_inc_return(atomic_t *v) #define atomic_inc(v) atomic_inc_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) + static __inline__ int atomic_dec_return(atomic_t *v) { int ret,flags;