1 /* 2 * include/asm-s390/cpu.h 3 * 4 * Copyright IBM Corp. 2007 5 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com> 6 */ 7 8 #ifndef _ASM_S390_CPU_H_ 9 #define _ASM_S390_CPU_H_ 10 11 #include <linux/types.h> 12 #include <linux/percpu.h> 13 #include <linux/spinlock.h> 14 15 struct s390_idle_data { 16 spinlock_t lock; 17 unsigned int in_idle; 18 unsigned long long idle_count; 19 unsigned long long idle_enter; 20 unsigned long long idle_time; 21 }; 22 23 DECLARE_PER_CPU(struct s390_idle_data, s390_idle); 24 25 void s390_idle_leave(void); 26 27 static inline void s390_idle_check(void) 28 { 29 if ((&__get_cpu_var(s390_idle))->in_idle) 30 s390_idle_leave(); 31 } 32 33 #endif /* _ASM_S390_CPU_H_ */ 34