diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/workqueue.h | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 8059334a6b02..29da9e77c3bb 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -177,17 +177,6 @@ struct execute_work { | |||
| 177 | #define DECLARE_DEFERRABLE_WORK(n, f) \ | 177 | #define DECLARE_DEFERRABLE_WORK(n, f) \ |
| 178 | struct delayed_work n = __DELAYED_WORK_INITIALIZER(n, f, TIMER_DEFERRABLE) | 178 | struct delayed_work n = __DELAYED_WORK_INITIALIZER(n, f, TIMER_DEFERRABLE) |
| 179 | 179 | ||
| 180 | /* | ||
| 181 | * initialize a work item's function pointer | ||
| 182 | */ | ||
| 183 | #define PREPARE_WORK(_work, _func) \ | ||
| 184 | do { \ | ||
| 185 | (_work)->func = (_func); \ | ||
| 186 | } while (0) | ||
| 187 | |||
| 188 | #define PREPARE_DELAYED_WORK(_work, _func) \ | ||
| 189 | PREPARE_WORK(&(_work)->work, (_func)) | ||
| 190 | |||
| 191 | #ifdef CONFIG_DEBUG_OBJECTS_WORK | 180 | #ifdef CONFIG_DEBUG_OBJECTS_WORK |
| 192 | extern void __init_work(struct work_struct *work, int onstack); | 181 | extern void __init_work(struct work_struct *work, int onstack); |
| 193 | extern void destroy_work_on_stack(struct work_struct *work); | 182 | extern void destroy_work_on_stack(struct work_struct *work); |
| @@ -217,7 +206,7 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; } | |||
| 217 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \ | 206 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \ |
| 218 | lockdep_init_map(&(_work)->lockdep_map, #_work, &__key, 0); \ | 207 | lockdep_init_map(&(_work)->lockdep_map, #_work, &__key, 0); \ |
| 219 | INIT_LIST_HEAD(&(_work)->entry); \ | 208 | INIT_LIST_HEAD(&(_work)->entry); \ |
| 220 | PREPARE_WORK((_work), (_func)); \ | 209 | (_work)->func = (_func); \ |
| 221 | } while (0) | 210 | } while (0) |
| 222 | #else | 211 | #else |
| 223 | #define __INIT_WORK(_work, _func, _onstack) \ | 212 | #define __INIT_WORK(_work, _func, _onstack) \ |
| @@ -225,7 +214,7 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; } | |||
| 225 | __init_work((_work), _onstack); \ | 214 | __init_work((_work), _onstack); \ |
| 226 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \ | 215 | (_work)->data = (atomic_long_t) WORK_DATA_INIT(); \ |
| 227 | INIT_LIST_HEAD(&(_work)->entry); \ | 216 | INIT_LIST_HEAD(&(_work)->entry); \ |
| 228 | PREPARE_WORK((_work), (_func)); \ | 217 | (_work)->func = (_func); \ |
| 229 | } while (0) | 218 | } while (0) |
| 230 | #endif | 219 | #endif |
| 231 | 220 | ||
