diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-05-04 16:00:16 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-05-04 16:00:16 +0200 |
| commit | 3a20ac2c52b1317f5a5f0bd9cd3cbe8495ddd026 (patch) | |
| tree | 9a912f2609cefb9698b5cce09cd240bd6dbd09fb /include/linux/workqueue.h | |
| parent | 18cc8d8d9b74c446832336d8f6e1afb145f9431b (diff) | |
| parent | 3e5b50165fd0be080044586f43fcdd460ed27610 (diff) | |
Merge branch 'fix/pcm-jiffies-check' into fix/asoc
Diffstat (limited to 'include/linux/workqueue.h')
| -rw-r--r-- | include/linux/workqueue.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index b36291130f22..13e1adf55c4c 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -41,6 +41,11 @@ struct delayed_work { struct timer_list timer; }; +static inline struct delayed_work *to_delayed_work(struct work_struct *work) +{ + return container_of(work, struct delayed_work, work); +} + struct execute_work { struct work_struct work; }; @@ -118,12 +123,24 @@ struct execute_work { init_timer(&(_work)->timer); \ } while (0) +#define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ + do { \ + INIT_WORK(&(_work)->work, (_func)); \ + init_timer_on_stack(&(_work)->timer); \ + } while (0) + #define INIT_DELAYED_WORK_DEFERRABLE(_work, _func) \ do { \ INIT_WORK(&(_work)->work, (_func)); \ init_timer_deferrable(&(_work)->timer); \ } while (0) +#define INIT_DELAYED_WORK_ON_STACK(_work, _func) \ + do { \ + INIT_WORK(&(_work)->work, (_func)); \ + init_timer_on_stack(&(_work)->timer); \ + } while (0) + /** * work_pending - Find out whether a work item is currently pending * @work: The work item in question |
