Branch data Line data Source code
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 : 3 : 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 : 3 : task_work_run(); 23 : : } 24 : : 25 : : #endif /* _LINUX_TASK_WORK_H */