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/compiler.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/compiler.h')
-rw-r--r-- | include/linux/compiler.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 060b96112ec6..0780de440220 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h | |||
@@ -14,7 +14,7 @@ | |||
14 | # define __releases(x) __attribute__((context(1,0))) | 14 | # define __releases(x) __attribute__((context(1,0))) |
15 | # define __acquire(x) __context__(1) | 15 | # define __acquire(x) __context__(1) |
16 | # define __release(x) __context__(-1) | 16 | # define __release(x) __context__(-1) |
17 | # define __cond_lock(x) ((x) ? ({ __context__(1); 1; }) : 0) | 17 | # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) |
18 | extern void __chk_user_ptr(void __user *); | 18 | extern void __chk_user_ptr(void __user *); |
19 | extern void __chk_io_ptr(void __iomem *); | 19 | extern void __chk_io_ptr(void __iomem *); |
20 | #else | 20 | #else |
@@ -31,7 +31,7 @@ extern void __chk_io_ptr(void __iomem *); | |||
31 | # define __releases(x) | 31 | # define __releases(x) |
32 | # define __acquire(x) (void)0 | 32 | # define __acquire(x) (void)0 |
33 | # define __release(x) (void)0 | 33 | # define __release(x) (void)0 |
34 | # define __cond_lock(x) (x) | 34 | # define __cond_lock(x,c) (c) |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | #ifdef __KERNEL__ | 37 | #ifdef __KERNEL__ |