From e71246a23acbc89e9cb4ebf1558d60e65733479f Mon Sep 17 00:00:00 2001 From: Ashwin Chaugule Date: Thu, 17 Apr 2014 14:38:41 -0400 Subject: 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 Reviewed-by: Rob Herring Acked-by: Catalin Marinas --- arch/arm/include/asm/psci.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'arch/arm/include/asm/psci.h') diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h index c4ae171850f..b93e34a9fdf 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 -- cgit v1.2.3-70-g09d2 From d6d7a95c1bdba370e2249efdecfab712c10cfc9b Mon Sep 17 00:00:00 2001 From: Christoffer Dall Date: Tue, 27 May 2014 11:18:17 +0200 Subject: arm: Fix compile warning for psci Commit e71246a23acbc89e9cb4ebf1558d60e65733479f changes psci_init from a function returning a void to an int, but does not change the non CONFIG_ARM_PSCI implementation to return a value, which causes a compile warning. Just return 0. Cc: Ashwin Chaugule Cc: Shawn Guo Signed-off-by: Christoffer Dall Signed-off-by: Paolo Bonzini --- arch/arm/include/asm/psci.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/arm/include/asm/psci.h') diff --git a/arch/arm/include/asm/psci.h b/arch/arm/include/asm/psci.h index b93e34a9fdf..c25ef3ec6d1 100644 --- a/arch/arm/include/asm/psci.h +++ b/arch/arm/include/asm/psci.h @@ -41,7 +41,7 @@ extern struct smp_operations psci_smp_ops; int psci_init(void); bool psci_smp_available(void); #else -static inline int psci_init(void) { } +static inline int psci_init(void) { return 0; } static inline bool psci_smp_available(void) { return false; } #endif -- cgit v1.2.3-70-g09d2