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
14struct vtimer_list {
15	struct list_head entry;
16	u64 expires;
17	u64 interval;
18	void (*function)(unsigned long);
19	unsigned long data;
20};
21
22extern void init_virt_timer(struct vtimer_list *timer);
23extern void add_virt_timer(struct vtimer_list *timer);
24extern void add_virt_timer_periodic(struct vtimer_list *timer);
25extern int mod_virt_timer(struct vtimer_list *timer, u64 expires);
26extern int mod_virt_timer_periodic(struct vtimer_list *timer, u64 expires);
27extern int del_virt_timer(struct vtimer_list *timer);
28extern void vtime_init(void);
29
30#endif /* _ASM_S390_TIMER_H */
31