diff options
Diffstat (limited to 'arch/arm/include/asm/trusted_foundations.h')
| -rw-r--r-- | arch/arm/include/asm/trusted_foundations.h | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/arch/arm/include/asm/trusted_foundations.h b/arch/arm/include/asm/trusted_foundations.h index 997862fd5d77..b5f7705abcb0 100644 --- a/arch/arm/include/asm/trusted_foundations.h +++ b/arch/arm/include/asm/trusted_foundations.h @@ -30,6 +30,8 @@  #include <linux/printk.h>  #include <linux/bug.h>  #include <linux/of.h> +#include <linux/cpu.h> +#include <linux/smp.h>  struct trusted_foundations_platform_data {  	unsigned int version_major; @@ -47,10 +49,13 @@ static inline void register_trusted_foundations(  				   struct trusted_foundations_platform_data *pd)  {  	/* -	 * If we try to register TF, this means the system needs it to continue. -	 * Its absence if thus a fatal error. +	 * If the system requires TF and we cannot provide it, continue booting +	 * but disable features that cannot be provided.  	 */ -	panic("No support for Trusted Foundations, stopping...\n"); +	pr_err("No support for Trusted Foundations, continuing in degraded mode.\n"); +	pr_err("Secondary processors as well as CPU PM will be disabled.\n"); +	setup_max_cpus = 0; +	cpu_idle_poll_ctrl(true);  }  static inline void of_register_trusted_foundations(void) | 
