diff options
Diffstat (limited to 'arch/arm/include/asm/trusted_foundations.h')
-rw-r--r-- | arch/arm/include/asm/trusted_foundations.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/include/asm/trusted_foundations.h b/arch/arm/include/asm/trusted_foundations.h index 3bd36e2c5f2e..b5f7705abcb0 100644 --- a/arch/arm/include/asm/trusted_foundations.h +++ b/arch/arm/include/asm/trusted_foundations.h | |||
@@ -30,6 +30,8 @@ | |||
30 | #include <linux/printk.h> | 30 | #include <linux/printk.h> |
31 | #include <linux/bug.h> | 31 | #include <linux/bug.h> |
32 | #include <linux/of.h> | 32 | #include <linux/of.h> |
33 | #include <linux/cpu.h> | ||
34 | #include <linux/smp.h> | ||
33 | 35 | ||
34 | struct trusted_foundations_platform_data { | 36 | struct trusted_foundations_platform_data { |
35 | unsigned int version_major; | 37 | unsigned int version_major; |
@@ -47,10 +49,13 @@ static inline void register_trusted_foundations( | |||
47 | struct trusted_foundations_platform_data *pd) | 49 | struct trusted_foundations_platform_data *pd) |
48 | { | 50 | { |
49 | /* | 51 | /* |
50 | * If we try to register TF, this means the system needs it to continue. | 52 | * If the system requires TF and we cannot provide it, continue booting |
51 | * Its absence if thus a fatal error. | 53 | * but disable features that cannot be provided. |
52 | */ | 54 | */ |
53 | panic("No support for Trusted Foundations, stopping...\n"); | 55 | pr_err("No support for Trusted Foundations, continuing in degraded mode.\n"); |
56 | pr_err("Secondary processors as well as CPU PM will be disabled.\n"); | ||
57 | setup_max_cpus = 0; | ||
58 | cpu_idle_poll_ctrl(true); | ||
54 | } | 59 | } |
55 | 60 | ||
56 | static inline void of_register_trusted_foundations(void) | 61 | static inline void of_register_trusted_foundations(void) |
@@ -59,7 +64,7 @@ static inline void of_register_trusted_foundations(void) | |||
59 | * If we find the target should enable TF but does not support it, | 64 | * If we find the target should enable TF but does not support it, |
60 | * fail as the system won't be able to do much anyway | 65 | * fail as the system won't be able to do much anyway |
61 | */ | 66 | */ |
62 | if (of_find_compatible_node(NULL, NULL, "tl,trusted-foundations")) | 67 | if (of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations")) |
63 | register_trusted_foundations(NULL); | 68 | register_trusted_foundations(NULL); |
64 | } | 69 | } |
65 | #endif /* CONFIG_TRUSTED_FOUNDATIONS */ | 70 | #endif /* CONFIG_TRUSTED_FOUNDATIONS */ |