xref: /openbmc/linux/arch/arm/include/asm/cpuidle.h (revision 62e7ca52)
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
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