]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-parisc/atomic.h
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6-omap-h63xx.git] / include / asm-parisc / atomic.h
index 4dc7253ff5d06a2e80a44388996b31bd8ce9019c..403ea97316cf2fbdeecefed72db9c38561ad8965 100644 (file)
@@ -210,6 +210,8 @@ static __inline__ int atomic_read(const atomic_t *v)
 
 #define atomic_dec_and_test(v) (atomic_dec_return(v) == 0)
 
+#define atomic_sub_and_test(i,v)       (atomic_sub_return((i),(v)) == 0)
+
 #define ATOMIC_INIT(i) ((atomic_t) { (i) })
 
 #define smp_mb__before_atomic_dec()    smp_mb()
@@ -267,6 +269,7 @@ atomic64_read(const atomic64_t *v)
 
 #define atomic64_inc_and_test(v)       (atomic64_inc_return(v) == 0)
 #define atomic64_dec_and_test(v)       (atomic64_dec_return(v) == 0)
+#define atomic64_sub_and_test(i,v)     (atomic64_sub_return((i),(v)) == 0)
 
 #endif /* __LP64__ */