1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 227f6b416SMartin Schwidefsky /* 327f6b416SMartin Schwidefsky * Copyright IBM Corp. 2003, 2012 427f6b416SMartin Schwidefsky * Virtual CPU timer 527f6b416SMartin Schwidefsky * 627f6b416SMartin Schwidefsky * Author(s): Jan Glauber <jan.glauber@de.ibm.com> 727f6b416SMartin Schwidefsky */ 827f6b416SMartin Schwidefsky 927f6b416SMartin Schwidefsky #ifndef _ASM_S390_TIMER_H 1027f6b416SMartin Schwidefsky #define _ASM_S390_TIMER_H 1127f6b416SMartin Schwidefsky 1227f6b416SMartin Schwidefsky #define VTIMER_MAX_SLICE (0x7fffffffffffffffULL) 1327f6b416SMartin Schwidefsky 1427f6b416SMartin Schwidefsky struct vtimer_list { 1527f6b416SMartin Schwidefsky struct list_head entry; 1627f6b416SMartin Schwidefsky u64 expires; 1727f6b416SMartin Schwidefsky u64 interval; 1827f6b416SMartin Schwidefsky void (*function)(unsigned long); 1927f6b416SMartin Schwidefsky unsigned long data; 2027f6b416SMartin Schwidefsky }; 2127f6b416SMartin Schwidefsky 2227f6b416SMartin Schwidefsky extern void init_virt_timer(struct vtimer_list *timer); 2327f6b416SMartin Schwidefsky extern void add_virt_timer(struct vtimer_list *timer); 2427f6b416SMartin Schwidefsky extern void add_virt_timer_periodic(struct vtimer_list *timer); 2527f6b416SMartin Schwidefsky extern int mod_virt_timer(struct vtimer_list *timer, u64 expires); 2627f6b416SMartin Schwidefsky extern int mod_virt_timer_periodic(struct vtimer_list *timer, u64 expires); 2727f6b416SMartin Schwidefsky extern int del_virt_timer(struct vtimer_list *timer); 2827f6b416SMartin Schwidefsky extern void vtime_init(void); 2927f6b416SMartin Schwidefsky 3027f6b416SMartin Schwidefsky #endif /* _ASM_S390_TIMER_H */ 31