diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2017-03-03 21:09:52 -0900 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2017-03-03 23:17:31 -0900 |
commit | 171ee48e57be78f4e95954c99851553fa523bf91 (patch) | |
tree | 5a54443f074f8f7922eda1451743bb9d2f60368e /include/linux/completion.h | |
parent | a5b5eba7f788bb77cf57f9c94f3474a2d439ab0b (diff) |
Delete more unused shim code, update bcache code
Diffstat (limited to 'include/linux/completion.h')
-rw-r--r-- | include/linux/completion.h | 62 |
1 files changed, 7 insertions, 55 deletions
diff --git a/include/linux/completion.h b/include/linux/completion.h index b8bac212..71c6b616 100644 --- a/include/linux/completion.h +++ b/include/linux/completion.h @@ -10,74 +10,26 @@ #include <linux/wait.h> -/* - * struct completion - structure used to maintain state for a "completion" - * - * This is the opaque structure used to maintain the state for a "completion". - * Completions currently use a FIFO to queue threads that have to wait for - * the "completion" event. - * - * See also: complete(), wait_for_completion() (and friends _timeout, - * _interruptible, _interruptible_timeout, and _killable), init_completion(), - * reinit_completion(), and macros DECLARE_COMPLETION(), - * DECLARE_COMPLETION_ONSTACK(). - */ struct completion { unsigned int done; wait_queue_head_t wait; }; -#define COMPLETION_INITIALIZER(work) \ - { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } +#define DECLARE_COMPLETION(work) \ + struct completion work = { \ + .done = 0, \ + .wait = __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) #define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work) -/** - * init_completion - Initialize a dynamically allocated completion - * @x: pointer to completion structure that is to be initialized - * - * This inline function will initialize a dynamically created completion - * structure. - */ static inline void init_completion(struct completion *x) { x->done = 0; init_waitqueue_head(&x->wait); } -/** - * reinit_completion - reinitialize a completion structure - * @x: pointer to completion structure that is to be reinitialized - * - * This inline function should be used to reinitialize a completion structure so it can - * be reused. This is especially important after complete_all() is used. - */ -static inline void reinit_completion(struct completion *x) -{ - x->done = 0; -} - -extern void wait_for_completion(struct completion *); -extern void wait_for_completion_io(struct completion *); -extern int wait_for_completion_interruptible(struct completion *x); -extern int wait_for_completion_killable(struct completion *x); -extern unsigned long wait_for_completion_timeout(struct completion *x, - unsigned long timeout); -extern unsigned long wait_for_completion_io_timeout(struct completion *x, - unsigned long timeout); -extern long wait_for_completion_interruptible_timeout( - struct completion *x, unsigned long timeout); -extern long wait_for_completion_killable_timeout( - struct completion *x, unsigned long timeout); -extern bool try_wait_for_completion(struct completion *x); -extern bool completion_done(struct completion *x); - -extern void complete(struct completion *); -extern void complete_all(struct completion *); +void complete(struct completion *); +void wait_for_completion(struct completion *); #endif |