1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_WORKQUEUE_TYPES_H
3 #define _LINUX_WORKQUEUE_TYPES_H
4 
5 #include <linux/atomic.h>
6 #include <linux/lockdep_types.h>
7 #include <linux/timer_types.h>
8 #include <linux/types.h>
9 
10 struct workqueue_struct;
11 
12 struct work_struct;
13 typedef void (*work_func_t)(struct work_struct *work);
14 void delayed_work_timer_fn(struct timer_list *t);
15 
16 struct work_struct {
17 	atomic_long_t data;
18 	struct list_head entry;
19 	work_func_t func;
20 #ifdef CONFIG_LOCKDEP
21 	struct lockdep_map lockdep_map;
22 #endif
23 };
24 
25 #endif /* _LINUX_WORKQUEUE_TYPES_H */
26