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