diff options
author | Josh Triplett <josht@us.ibm.com> | 2006-09-29 05:01:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 12:18:20 -0400 |
commit | dcc8e559ee5ae03fa6bdb8611d76d86d0083e793 (patch) | |
tree | 8847aba4ed68074ec9ab0ef28ee2cdd7937f51d9 /include/linux/spinlock.h | |
parent | 7d2c502f141042f6e5d145aa40107685d751e5a3 (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.h | 10 |
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 | */ |
265 | extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); | 265 | extern 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? |