xref: /openbmc/linux/arch/arm/include/asm/cpuidle.h (revision 6d8e62c3)
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 	.name                   = "WFI",\
19 	.desc                   = "ARM WFI",\
20 }
21 
22 /*
23  * in case power_specified == 1, give a default WFI power value needed
24  * by some governors
25  */
26 #define ARM_CPUIDLE_WFI_STATE ARM_CPUIDLE_WFI_STATE_PWR(UINT_MAX)
27 
28 #endif
29