From 3a76b35186cb967a69c4a3935caf2fdf428e933b Mon Sep 17 00:00:00 2001 From: Christian Daudt Date: Tue, 6 Aug 2013 17:04:54 -0700 Subject: ARM: bcm: Make secure API call optional The current bcm_kona_smc_init function throws a BUG_ON if there's no SMC device node defined in the device tree. Since secure API access is optional depending the chip configuration, fix this by allowing the rest of the code to run even if there's no SMC device node defined Signed-off-by: Christian Daudt Reviewed-by: Markus Mayer --- arch/arm/mach-bcm/board_bcm281xx.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'arch/arm/mach-bcm/board_bcm281xx.c') diff --git a/arch/arm/mach-bcm/board_bcm281xx.c b/arch/arm/mach-bcm/board_bcm281xx.c index 3fe1e4d2e9a7..8d9f931164bb 100644 --- a/arch/arm/mach-bcm/board_bcm281xx.c +++ b/arch/arm/mach-bcm/board_bcm281xx.c @@ -29,15 +29,18 @@ static int __init kona_l2_cache_init(void) if (!IS_ENABLED(CONFIG_CACHE_L2X0)) return 0; + if (bcm_kona_smc_init() < 0) { + pr_info("Kona secure API not available. Skipping L2 init\n"); + return 0; + } + bcm_kona_smc(SSAPI_ENABLE_L2_CACHE, 0, 0, 0, 0); /* * The aux_val and aux_mask have no effect since L2 cache is already * enabled. Pass 0s for aux_val and 1s for aux_mask for default value. */ - l2x0_of_init(0, ~0); - - return 0; + return l2x0_of_init(0, ~0); } static void bcm_board_setup_restart(void) @@ -58,7 +61,6 @@ static void __init board_init(void) of_platform_populate(NULL, of_default_bus_match_table, NULL, &platform_bus); - bcm_kona_smc_init(); bcm_board_setup_restart(); kona_l2_cache_init(); } -- cgit v1.2.3