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
10struct workqueue_struct;
11
12struct work_struct;
13typedef void (*work_func_t)(struct work_struct *work);
14void delayed_work_timer_fn(struct timer_list *t);
15
16struct 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