arm: kernel: Add SMC structure parameter
authorAndy Gross <andy.gross@linaro.org>
Tue, 4 Apr 2017 19:32:31 +0000 (19:32 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Apr 2017 10:41:21 +0000 (12:41 +0200)
commit007f0a2f2c0fcfa9ecef016c0910aebd0b784fdd
tree9b5ec2f51c3f7b6c3ecdd587da358d77de6d2bac
parent703f48a1c302f66e686535355092116ebaeccaad
arm: kernel: Add SMC structure parameter

[ Upstream commit 680a0873e193bae666439f4b5e32c758e68f114c ]

This patch adds a quirk parameter to the arm_smccc_(smc/hvc) calls.
The quirk structure allows for specialized SMC operations due to SoC
specific requirements.  The current arm_smccc_(smc/hvc) is renamed and
macros are used instead to specify the standard arm_smccc_(smc/hvc) or
the arm_smccc_(smc/hvc)_quirk function.

This patch and partial implementation was suggested by Will Deacon.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kernel/armksyms.c
arch/arm/kernel/smccc-call.S
arch/arm64/kernel/arm64ksyms.c
arch/arm64/kernel/asm-offsets.c
arch/arm64/kernel/smccc-call.S
include/linux/arm-smccc.h