0001
0002 #ifndef __ASM_IDLE_H
0003 #define __ASM_IDLE_H
0004
0005 #include <linux/cpuidle.h>
0006 #include <linux/linkage.h>
0007
0008 extern void (*cpu_wait)(void);
0009 extern void r4k_wait(void);
0010 extern asmlinkage void __r4k_wait(void);
0011 extern void r4k_wait_irqoff(void);
0012
0013 static inline int using_rollback_handler(void)
0014 {
0015 return cpu_wait == r4k_wait;
0016 }
0017
0018 extern void __init check_wait(void);
0019
0020 extern int mips_cpuidle_wait_enter(struct cpuidle_device *dev,
0021 struct cpuidle_driver *drv, int index);
0022
0023 #define MIPS_CPUIDLE_WAIT_STATE {\
0024 .enter = mips_cpuidle_wait_enter,\
0025 .exit_latency = 1,\
0026 .target_residency = 1,\
0027 .power_usage = UINT_MAX,\
0028 .name = "wait",\
0029 .desc = "MIPS wait",\
0030 }
0031
0032 #endif