diff options
Diffstat (limited to 'arch/arm/include/asm/cpuidle.h')
| -rw-r--r-- | arch/arm/include/asm/cpuidle.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/include/asm/cpuidle.h b/arch/arm/include/asm/cpuidle.h index af319ac4960c..0f8424924902 100644 --- a/arch/arm/include/asm/cpuidle.h +++ b/arch/arm/include/asm/cpuidle.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef __ASM_ARM_CPUIDLE_H | 1 | #ifndef __ASM_ARM_CPUIDLE_H |
| 2 | #define __ASM_ARM_CPUIDLE_H | 2 | #define __ASM_ARM_CPUIDLE_H |
| 3 | 3 | ||
| 4 | #include <asm/proc-fns.h> | ||
| 5 | |||
| 4 | #ifdef CONFIG_CPU_IDLE | 6 | #ifdef CONFIG_CPU_IDLE |
| 5 | extern int arm_cpuidle_simple_enter(struct cpuidle_device *dev, | 7 | extern int arm_cpuidle_simple_enter(struct cpuidle_device *dev, |
| 6 | struct cpuidle_driver *drv, int index); | 8 | struct cpuidle_driver *drv, int index); |
| @@ -25,4 +27,25 @@ static inline int arm_cpuidle_simple_enter(struct cpuidle_device *dev, | |||
| 25 | */ | 27 | */ |
| 26 | #define ARM_CPUIDLE_WFI_STATE ARM_CPUIDLE_WFI_STATE_PWR(UINT_MAX) | 28 | #define ARM_CPUIDLE_WFI_STATE ARM_CPUIDLE_WFI_STATE_PWR(UINT_MAX) |
| 27 | 29 | ||
| 30 | struct device_node; | ||
| 31 | |||
| 32 | struct cpuidle_ops { | ||
| 33 | int (*suspend)(int cpu, unsigned long arg); | ||
| 34 | int (*init)(struct device_node *, int cpu); | ||
| 35 | }; | ||
| 36 | |||
| 37 | struct of_cpuidle_method { | ||
| 38 | const char *method; | ||
| 39 | struct cpuidle_ops *ops; | ||
| 40 | }; | ||
| 41 | |||
| 42 | #define CPUIDLE_METHOD_OF_DECLARE(name, _method, _ops) \ | ||
| 43 | static const struct of_cpuidle_method __cpuidle_method_of_table_##name \ | ||
| 44 | __used __section(__cpuidle_method_of_table) \ | ||
| 45 | = { .method = _method, .ops = _ops } | ||
| 46 | |||
| 47 | extern int arm_cpuidle_suspend(int index); | ||
| 48 | |||
| 49 | extern int arm_cpuidle_init(int cpu); | ||
| 50 | |||
| 28 | #endif | 51 | #endif |
