summaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorAshwin Chaugule <ashwin.chaugule@linaro.org>2014-04-17 20:38:41 +0200
committerAshwin Chaugule <ashwin.chaugule@linaro.org>2014-05-15 16:16:00 +0200
commite71246a23acbc89e9cb4ebf1558d60e65733479f (patch)
tree733dd0f1f714b4b6473c7dade260861f5e51f551 /arch/arm/include
parentARM/ARM64: KVM: Advertise KVM_CAP_ARM_PSCI_0_2 to user space (diff)
downloadlinux-e71246a23acbc89e9cb4ebf1558d60e65733479f.tar.xz
linux-e71246a23acbc89e9cb4ebf1558d60e65733479f.zip
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')
-rw-r--r--arch/arm/include/asm/psci.h7
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 {
int (*cpu_off)(struct psci_power_state state);
int (*cpu_on)(unsigned long cpuid, unsigned long entry_point);
int (*migrate)(unsigned long cpuid);
+ int (*affinity_info)(unsigned long target_affinity,
+ unsigned long lowest_affinity_level);
+ int (*migrate_info_type)(void);
};
extern struct psci_operations psci_ops;
extern struct smp_operations psci_smp_ops;
#ifdef CONFIG_ARM_PSCI
-void psci_init(void);
+int psci_init(void);
bool psci_smp_available(void);
#else
-static inline void psci_init(void) { }
+static inline int psci_init(void) { }
static inline bool psci_smp_available(void) { return false; }
#endif