diff options
Diffstat (limited to 'include/linux/completion.h')
| -rw-r--r-- | include/linux/completion.h | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/completion.h b/include/linux/completion.h index 251c41e3ddd..268c5a4a2bd 100644 --- a/include/linux/completion.h +++ b/include/linux/completion.h @@ -18,6 +18,9 @@ struct completion {  #define COMPLETION_INITIALIZER(work) \  	{ 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } +#define COMPLETION_INITIALIZER_ONSTACK(work) \ +	({ init_completion(&work); work; }) +  #define DECLARE_COMPLETION(work) \  	struct completion work = COMPLETION_INITIALIZER(work) @@ -28,7 +31,7 @@ struct completion {   */  #ifdef CONFIG_LOCKDEP  # define DECLARE_COMPLETION_ONSTACK(work) \ -	struct completion work = ({ init_completion(&work); work; }) +	struct completion work = COMPLETION_INITIALIZER_ONSTACK(work)  #else  # define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)  #endif  |