0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _S390_IDLE_H
0009 #define _S390_IDLE_H
0010
0011 #include <linux/types.h>
0012 #include <linux/device.h>
0013 #include <linux/seqlock.h>
0014
0015 struct s390_idle_data {
0016 seqcount_t seqcount;
0017 unsigned long idle_count;
0018 unsigned long idle_time;
0019 unsigned long clock_idle_enter;
0020 unsigned long clock_idle_exit;
0021 unsigned long timer_idle_enter;
0022 unsigned long timer_idle_exit;
0023 unsigned long mt_cycles_enter[8];
0024 };
0025
0026 extern struct device_attribute dev_attr_idle_count;
0027 extern struct device_attribute dev_attr_idle_time_us;
0028
0029 void psw_idle(struct s390_idle_data *data, unsigned long psw_mask);
0030 void psw_idle_exit(void);
0031
0032 #endif