1 #ifndef __ASM_ARM_CPUIDLE_H
2 #define __ASM_ARM_CPUIDLE_H
3
4 #ifdef CONFIG_CPU_IDLE
5 extern int arm_cpuidle_simple_enter(struct cpuidle_device *dev,
6 struct cpuidle_driver *drv, int index);
7 #else
arm_cpuidle_simple_enter(struct cpuidle_device * dev,struct cpuidle_driver * drv,int index)8 static inline int arm_cpuidle_simple_enter(struct cpuidle_device *dev,
9 struct cpuidle_driver *drv, int index) { return -ENODEV; }
10 #endif
11
12 /* Common ARM WFI state */
13 #define ARM_CPUIDLE_WFI_STATE_PWR(p) {\
14 .enter = arm_cpuidle_simple_enter,\
15 .exit_latency = 1,\
16 .target_residency = 1,\
17 .power_usage = p,\
18 .flags = CPUIDLE_FLAG_TIME_VALID,\
19 .name = "WFI",\
20 .desc = "ARM WFI",\
21 }
22
23 /*
24 * in case power_specified == 1, give a default WFI power value needed
25 * by some governors
26 */
27 #define ARM_CPUIDLE_WFI_STATE ARM_CPUIDLE_WFI_STATE_PWR(UINT_MAX)
28
29 #endif
30