diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
commit | d6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch) | |
tree | e2be02f33984c48ec019c654051d27964e42c441 /include/asm-arm/atomic.h | |
parent | 609d1e803baf519487233b765eb487f9ec227a18 (diff) |
Merge with 2.3.19.
Diffstat (limited to 'include/asm-arm/atomic.h')
-rw-r--r-- | include/asm-arm/atomic.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-arm/atomic.h b/include/asm-arm/atomic.h index 431194234..92bcf6f8e 100644 --- a/include/asm-arm/atomic.h +++ b/include/asm-arm/atomic.h @@ -81,6 +81,19 @@ static __inline__ int atomic_dec_and_test(volatile atomic_t *v) return result; } +extern __inline__ int atomic_add_negative(int i, volatile atomic_t *v) +{ + unsigned long flags; + int result; + + save_flags_cli(flags); + v->counter += i; + result = (v->counter < 0); + restore_flags(flags); + + return result; +} + static __inline__ void atomic_clear_mask(unsigned long mask, unsigned long *addr) { unsigned long flags; |