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