[for-stable-4.4,14/50] arm/arm64: smccc: Add SMCCC-specific return codes

Message ID 20191108123554.29004-15-ardb@kernel.org
State New
Headers show
Series
  • Untitled series #24813
Related show

Commit Message

Ard Biesheuvel Nov. 8, 2019, 12:35 p.m.
From: Marc Zyngier <marc.zyngier@arm.com>


commit eff0e9e1078ea7dc1d794dc50e31baef984c46d7 upstream.

We've so far used the PSCI return codes for SMCCC because they
were extremely similar. But with the new ARM DEN 0070A specification,
"NOT_REQUIRED" (-2) is clashing with PSCI's "PSCI_RET_INVALID_PARAMS".

Let's bite the bullet and add SMCCC specific return codes. Users
can be repainted as and when required.

Acked-by: Will Deacon <will.deacon@arm.com>

Reviewed-by: Mark Rutland <mark.rutland@arm.com>

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

---
 include/linux/arm-smccc.h | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.20.1

Patch

diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
index eb79d0e21148..a4eec441f82d 100644
--- a/include/linux/arm-smccc.h
+++ b/include/linux/arm-smccc.h
@@ -264,5 +264,10 @@  asmlinkage void arm_smccc_hvc(unsigned long a0, unsigned long a1,
  */
 #define arm_smccc_1_1_hvc(...)	__arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
 
+/* Return codes defined in ARM DEN 0070A */
+#define SMCCC_RET_SUCCESS			0
+#define SMCCC_RET_NOT_SUPPORTED			-1
+#define SMCCC_RET_NOT_REQUIRED			-2
+
 #endif /*__ASSEMBLY__*/
 #endif /*__LINUX_ARM_SMCCC_H*/