diff options
Diffstat (limited to 'include/linux/workqueue.h')
| -rw-r--r-- | include/linux/workqueue.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index f4960260feaf..f3c47a05fd06 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -17,7 +17,7 @@ struct workqueue_struct; | |||
| 17 | 17 | ||
| 18 | struct work_struct; | 18 | struct work_struct; |
| 19 | typedef void (*work_func_t)(struct work_struct *work); | 19 | typedef void (*work_func_t)(struct work_struct *work); |
| 20 | void delayed_work_timer_fn(unsigned long __data); | 20 | void delayed_work_timer_fn(struct timer_list *t); |
| 21 | 21 | ||
| 22 | /* | 22 | /* |
| 23 | * The first word is the work queue pointer and the flags rolled into | 23 | * The first word is the work queue pointer and the flags rolled into |
| @@ -175,8 +175,8 @@ struct execute_work { | |||
| 175 | 175 | ||
| 176 | #define __DELAYED_WORK_INITIALIZER(n, f, tflags) { \ | 176 | #define __DELAYED_WORK_INITIALIZER(n, f, tflags) { \ |
| 177 | .work = __WORK_INITIALIZER((n).work, (f)), \ | 177 | .work = __WORK_INITIALIZER((n).work, (f)), \ |
| 178 | .timer = __TIMER_INITIALIZER(delayed_work_timer_fn, \ | 178 | .timer = __TIMER_INITIALIZER((TIMER_FUNC_TYPE)delayed_work_timer_fn,\ |
| 179 | (unsigned long)&(n), \ | 179 | (TIMER_DATA_TYPE)&(n.timer), \ |
| 180 | (tflags) | TIMER_IRQSAFE), \ | 180 | (tflags) | TIMER_IRQSAFE), \ |
| 181 | } | 181 | } |
| 182 | 182 | ||
| @@ -241,8 +241,9 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; } | |||
| 241 | #define __INIT_DELAYED_WORK(_work, _func, _tflags) \ | 241 | #define __INIT_DELAYED_WORK(_work, _func, _tflags) \ |
| 242 | do { \ | 242 | do { \ |
| 243 | INIT_WORK(&(_work)->work, (_func)); \ | 243 | INIT_WORK(&(_work)->work, (_func)); \ |
| 244 | __setup_timer(&(_work)->timer, delayed_work_timer_fn, \ | 244 | __setup_timer(&(_work)->timer, \ |
| 245 | (unsigned long)(_work), \ | 245 | (TIMER_FUNC_TYPE)delayed_work_timer_fn, \ |
| 246 | (TIMER_DATA_TYPE)&(_work)->timer, \ | ||
| 246 | (_tflags) | TIMER_IRQSAFE); \ | 247 | (_tflags) | TIMER_IRQSAFE); \ |
| 247 | } while (0) | 248 | } while (0) |
| 248 | 249 | ||
| @@ -250,8 +251,8 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; } | |||
| 250 | do { \ | 251 | do { \ |
| 251 | INIT_WORK_ONSTACK(&(_work)->work, (_func)); \ | 252 | INIT_WORK_ONSTACK(&(_work)->work, (_func)); \ |
| 252 | __setup_timer_on_stack(&(_work)->timer, \ | 253 | __setup_timer_on_stack(&(_work)->timer, \ |
| 253 | delayed_work_timer_fn, \ | 254 | (TIMER_FUNC_TYPE)delayed_work_timer_fn,\ |
| 254 | (unsigned long)(_work), \ | 255 | (TIMER_DATA_TYPE)&(_work)->timer,\ |
| 255 | (_tflags) | TIMER_IRQSAFE); \ | 256 | (_tflags) | TIMER_IRQSAFE); \ |
| 256 | } while (0) | 257 | } while (0) |
| 257 | 258 | ||
