Commit | Line | Data |
---|---|---|
e73f8959 ON |
1 | #ifndef _LINUX_TASK_WORK_H |
2 | #define _LINUX_TASK_WORK_H | |
3 | ||
4 | #include <linux/list.h> | |
5 | #include <linux/sched.h> | |
6 | ||
67d12145 | 7 | typedef void (*task_work_func_t)(struct callback_head *); |
e73f8959 ON |
8 | |
9 | static inline void | |
67d12145 | 10 | init_task_work(struct callback_head *twork, task_work_func_t func) |
e73f8959 ON |
11 | { |
12 | twork->func = func; | |
e73f8959 ON |
13 | } |
14 | ||
67d12145 AV |
15 | int task_work_add(struct task_struct *task, struct callback_head *twork, bool); |
16 | struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t); | |
e73f8959 ON |
17 | void task_work_run(void); |
18 | ||
19 | static inline void exit_task_work(struct task_struct *task) | |
20 | { | |
9da33de6 | 21 | task_work_run(); |
e73f8959 ON |
22 | } |
23 | ||
24 | #endif /* _LINUX_TASK_WORK_H */ |