|
@@ -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
|