aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/workqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/workqueue.h')
-rw-r--r--include/linux/workqueue.h15
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
18struct work_struct; 18struct work_struct;
19typedef void (*work_func_t)(struct work_struct *work); 19typedef void (*work_func_t)(struct work_struct *work);
20void delayed_work_timer_fn(unsigned long __data); 20void 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