summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-bcm/bcm_kona_smc.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2014-04-21 23:53:09 +0200
committerMatt Porter <mporter@linaro.org>2014-04-25 14:51:36 +0200
commit8b9c550e37ff4e4d0de2890a835f44a7813e3423 (patch)
tree07e846ee9fb1c09b820e67825558d6e107440044 /arch/arm/mach-bcm/bcm_kona_smc.h
parentARM: bcm: tidy up a few includes (diff)
downloadlinux-8b9c550e37ff4e4d0de2890a835f44a7813e3423.tar.xz
linux-8b9c550e37ff4e4d0de2890a835f44a7813e3423.zip
ARM: bcm: use inline assembly for "smc" request
Move the code that implements the "smc" call into a C function that uses inline assembly. This allows us to make that function private, and enables us to get rid of "arch/arm/mach-bcm/bcm_kona_smc_asm.S". Rename what had been the "buffer_addr" argument to be "buffer_phys" so it's consistent with other usage in this file. Since it's now easy to do, verify that r12 contains SEC_EXIT_NORMAL upon completion of the SMC. There really isn't a good way to handle the abnormal completion of a secure monitor request. Since "bcm_kona_smc.h" is now only included from C files, eliminate the #ifndef __ASSEMBLY__. Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Tim Kryger <tim.kryger@linaro.org> Reviewed-by: Markus Mayer <markus.mayer@linaro.org> Reviewed-by: Matt Porter <mporter@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
Diffstat (limited to 'arch/arm/mach-bcm/bcm_kona_smc.h')
-rw-r--r--arch/arm/mach-bcm/bcm_kona_smc.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/arm/mach-bcm/bcm_kona_smc.h b/arch/arm/mach-bcm/bcm_kona_smc.h
index 629e64a89982..2e29ec67e414 100644
--- a/arch/arm/mach-bcm/bcm_kona_smc.h
+++ b/arch/arm/mach-bcm/bcm_kona_smc.h
@@ -21,7 +21,6 @@
#define SEC_ROM_RET_OK 0x00000001
#define SEC_EXIT_NORMAL 0x1
-#ifndef __ASSEMBLY__
extern int __init bcm_kona_smc_init(void);
extern unsigned bcm_kona_smc(unsigned service_id,
@@ -30,9 +29,4 @@ extern unsigned bcm_kona_smc(unsigned service_id,
unsigned arg2,
unsigned arg3);
-extern int bcm_kona_smc_asm(u32 service_id,
- u32 buffer_addr);
-
-#endif /* __ASSEMBLY__ */
-
#endif /* BCM_KONA_SMC_H */