diff options
author | Ashwin Chaugule <ashwin.chaugule@linaro.org> | 2014-04-17 14:38:41 -0400 |
---|---|---|
committer | Ashwin Chaugule <ashwin.chaugule@linaro.org> | 2014-05-15 10:16:00 -0400 |
commit | e71246a23acbc89e9cb4ebf1558d60e65733479f (patch) | |
tree | 733dd0f1f714b4b6473c7dade260861f5e51f551 /arch/arm/include/asm/psci.h | |
parent | 4447a208f7fc2e2dff8c6a8df2a1fd6dd72fb3e2 (diff) |
PSCI: Add initial support for PSCIv0.2 functions
The PSCIv0.2 spec defines standard values of function IDs
and introduces a few new functions. Detect version of PSCI
and appropriately select the right PSCI functions.
Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm/include/asm/psci.h')
-rw-r--r-- | arch/arm/include/asm/psci.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h index c4ae171850f8..b93e34a9fdf1 100644 --- a/arch/arm/include/asm/psci.h +++ b/arch/arm/include/asm/psci.h | |||
@@ -29,16 +29,19 @@ struct psci_operations { | |||
29 | int (*cpu_off)(struct psci_power_state state); | 29 | int (*cpu_off)(struct psci_power_state state); |
30 | int (*cpu_on)(unsigned long cpuid, unsigned long entry_point); | 30 | int (*cpu_on)(unsigned long cpuid, unsigned long entry_point); |
31 | int (*migrate)(unsigned long cpuid); | 31 | int (*migrate)(unsigned long cpuid); |
32 | int (*affinity_info)(unsigned long target_affinity, | ||
33 | unsigned long lowest_affinity_level); | ||
34 | int (*migrate_info_type)(void); | ||
32 | }; | 35 | }; |
33 | 36 | ||
34 | extern struct psci_operations psci_ops; | 37 | extern struct psci_operations psci_ops; |
35 | extern struct smp_operations psci_smp_ops; | 38 | extern struct smp_operations psci_smp_ops; |
36 | 39 | ||
37 | #ifdef CONFIG_ARM_PSCI | 40 | #ifdef CONFIG_ARM_PSCI |
38 | void psci_init(void); | 41 | int psci_init(void); |
39 | bool psci_smp_available(void); | 42 | bool psci_smp_available(void); |
40 | #else | 43 | #else |
41 | static inline void psci_init(void) { } | 44 | static inline int psci_init(void) { } |
42 | static inline bool psci_smp_available(void) { return false; } | 45 | static inline bool psci_smp_available(void) { return false; } |
43 | #endif | 46 | #endif |
44 | 47 | ||