1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  Copyright IBM Corp. 2003, 2012
4  *  Virtual CPU timer
5  *
6  *  Author(s): Jan Glauber <jan.glauber@de.ibm.com>
7  */
8 
9 #ifndef _ASM_S390_TIMER_H
10 #define _ASM_S390_TIMER_H
11 
12 #define VTIMER_MAX_SLICE (0x7fffffffffffffffULL)
13 
14 struct vtimer_list {
15 	struct list_head entry;
16 	u64 expires;
17 	u64 interval;
18 	void (*function)(unsigned long);
19 	unsigned long data;
20 };
21 
22 extern void init_virt_timer(struct vtimer_list *timer);
23 extern void add_virt_timer(struct vtimer_list *timer);
24 extern void add_virt_timer_periodic(struct vtimer_list *timer);
25 extern int mod_virt_timer(struct vtimer_list *timer, u64 expires);
26 extern int mod_virt_timer_periodic(struct vtimer_list *timer, u64 expires);
27 extern int del_virt_timer(struct vtimer_list *timer);
28 extern void vtime_init(void);
29 
30 #endif /* _ASM_S390_TIMER_H */
31