diff options
Diffstat (limited to 'ANDROID_3.4.5/include/linux/completion.h')
-rw-r--r-- | ANDROID_3.4.5/include/linux/completion.h | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/ANDROID_3.4.5/include/linux/completion.h b/ANDROID_3.4.5/include/linux/completion.h deleted file mode 100644 index 51494e6b..00000000 --- a/ANDROID_3.4.5/include/linux/completion.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef __LINUX_COMPLETION_H -#define __LINUX_COMPLETION_H - -/* - * (C) Copyright 2001 Linus Torvalds - * - * Atomic wait-for-completion handler data structures. - * See kernel/sched.c for details. - */ - -#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(), - * and macros DECLARE_COMPLETION(), DECLARE_COMPLETION_ONSTACK(), and - * INIT_COMPLETION(). - */ -struct completion { - unsigned int done; - wait_queue_head_t wait; -}; - -#define COMPLETION_INITIALIZER(work) \ - { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) } - -#define COMPLETION_INITIALIZER_ONSTACK(work) \ - ({ init_completion(&work); work; }) - -/** - * DECLARE_COMPLETION - declare and initialize a completion structure - * @work: identifier for the completion structure - * - * This macro declares and initializes a completion structure. Generally used - * for static declarations. You should use the _ONSTACK variant for automatic - * variables. - */ -#define DECLARE_COMPLETION(work) \ - struct completion work = COMPLETION_INITIALIZER(work) - -/* - * Lockdep needs to run a non-constant initializer for on-stack - * completions - so we use the _ONSTACK() variant for those that - * are on the kernel stack: - */ -/** - * DECLARE_COMPLETION_ONSTACK - declare and initialize a completion structure - * @work: identifier for the completion structure - * - * This macro declares and initializes a completion structure on the kernel - * stack. - */ -#ifdef CONFIG_LOCKDEP -# define DECLARE_COMPLETION_ONSTACK(work) \ - struct completion work = COMPLETION_INITIALIZER_ONSTACK(work) -#else -# define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work) -#endif - -/** - * init_completion - Initialize a dynamically allocated completion - * @x: 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); -} - -extern void wait_for_completion(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 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 *); - -/** - * INIT_COMPLETION - reinitialize a completion structure - * @x: completion structure to be reinitialized - * - * This macro should be used to reinitialize a completion structure so it can - * be reused. This is especially important after complete_all() is used. - */ -#define INIT_COMPLETION(x) ((x).done = 0) - - -#endif |