aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/spinlock.h
diff options
context:
space:
mode:
authorJosh Triplett <josht@us.ibm.com>2006-09-29 05:01:03 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-29 12:18:20 -0400
commitdcc8e559ee5ae03fa6bdb8611d76d86d0083e793 (patch)
tree8847aba4ed68074ec9ab0ef28ee2cdd7937f51d9 /include/linux/spinlock.h
parent7d2c502f141042f6e5d145aa40107685d751e5a3 (diff)
[PATCH] Pass a lock expression to __cond_lock, like __acquire and __release
Currently, __acquire and __release take a lock expression, but __cond_lock takes only a condition, not the lock acquired if the expression evaluates to true. Change __cond_lock to accept a lock expression, and change all the callers to pass in a lock expression. Signed-off-by: Josh Triplett <josh@freedesktop.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/spinlock.h')
-rw-r--r--include/linux/spinlock.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index 456e74f0e129..b800d2d68b32 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -167,9 +167,9 @@ do { \
167 * regardless of whether CONFIG_SMP or CONFIG_PREEMPT are set. The various 167 * regardless of whether CONFIG_SMP or CONFIG_PREEMPT are set. The various
168 * methods are defined as nops in the case they are not required. 168 * methods are defined as nops in the case they are not required.
169 */ 169 */
170#define spin_trylock(lock) __cond_lock(_spin_trylock(lock)) 170#define spin_trylock(lock) __cond_lock(lock, _spin_trylock(lock))
171#define read_trylock(lock) __cond_lock(_read_trylock(lock)) 171#define read_trylock(lock) __cond_lock(lock, _read_trylock(lock))
172#define write_trylock(lock) __cond_lock(_write_trylock(lock)) 172#define write_trylock(lock) __cond_lock(lock, _write_trylock(lock))
173 173
174#define spin_lock(lock) _spin_lock(lock) 174#define spin_lock(lock) _spin_lock(lock)
175 175
@@ -236,7 +236,7 @@ do { \
236 _write_unlock_irqrestore(lock, flags) 236 _write_unlock_irqrestore(lock, flags)
237#define write_unlock_bh(lock) _write_unlock_bh(lock) 237#define write_unlock_bh(lock) _write_unlock_bh(lock)
238 238
239#define spin_trylock_bh(lock) __cond_lock(_spin_trylock_bh(lock)) 239#define spin_trylock_bh(lock) __cond_lock(lock, _spin_trylock_bh(lock))
240 240
241#define spin_trylock_irq(lock) \ 241#define spin_trylock_irq(lock) \
242({ \ 242({ \
@@ -264,7 +264,7 @@ do { \
264 */ 264 */
265extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); 265extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
266#define atomic_dec_and_lock(atomic, lock) \ 266#define atomic_dec_and_lock(atomic, lock) \
267 __cond_lock(_atomic_dec_and_lock(atomic, lock)) 267 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock))
268 268
269/** 269/**
270 * spin_can_lock - would spin_trylock() succeed? 270 * spin_can_lock - would spin_trylock() succeed?