xref: /linux-6.15/include/linux/timer_types.h (revision dff0fd23)
1*dff0fd23SKent Overstreet /* SPDX-License-Identifier: GPL-2.0 */
2*dff0fd23SKent Overstreet #ifndef _LINUX_TIMER_TYPES_H
3*dff0fd23SKent Overstreet #define _LINUX_TIMER_TYPES_H
4*dff0fd23SKent Overstreet 
5*dff0fd23SKent Overstreet #include <linux/lockdep_types.h>
6*dff0fd23SKent Overstreet #include <linux/types.h>
7*dff0fd23SKent Overstreet 
8*dff0fd23SKent Overstreet struct timer_list {
9*dff0fd23SKent Overstreet 	/*
10*dff0fd23SKent Overstreet 	 * All fields that change during normal runtime grouped to the
11*dff0fd23SKent Overstreet 	 * same cacheline
12*dff0fd23SKent Overstreet 	 */
13*dff0fd23SKent Overstreet 	struct hlist_node	entry;
14*dff0fd23SKent Overstreet 	unsigned long		expires;
15*dff0fd23SKent Overstreet 	void			(*function)(struct timer_list *);
16*dff0fd23SKent Overstreet 	u32			flags;
17*dff0fd23SKent Overstreet 
18*dff0fd23SKent Overstreet #ifdef CONFIG_LOCKDEP
19*dff0fd23SKent Overstreet 	struct lockdep_map	lockdep_map;
20*dff0fd23SKent Overstreet #endif
21*dff0fd23SKent Overstreet };
22*dff0fd23SKent Overstreet 
23*dff0fd23SKent Overstreet #endif /* _LINUX_TIMER_TYPES_H */
24