diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2014-03-06 15:28:49 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2014-03-07 06:08:57 -0800 |
commit | 05689e89f86458ae6993ab0303206f1f65db5ac4 (patch) | |
tree | 04a72bf56022414a5a2c4484da2581144aac644e /arch/arm/mach-tegra/common.c | |
parent | 2f467ae0d55d95969ce470e5efc4b8280dca6094 (diff) |
arm: tegra: initialize cpu reset handler using early_initcall()
tegra_cpu_reset_handler_init() was called during SMP prepare
explicitly. In order to use PSCI calls during cpu reset handler
init, it needs to be initialized using early_initcall(). The ARM
init code makes sure that all early_initcalls are invoked before
SMP is enabled. Cleanup the ARM64 version as well.
Bug 1475528
Change-Id: I24d424b1c2ade4d5737764d6c5378b57ed3f8c7b
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/378351
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/common.c')
-rw-r--r-- | arch/arm/mach-tegra/common.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index ddb325b1fb8f..2978eb4ad785 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -876,12 +876,6 @@ static void __init tegra_init_ahb_gizmo_settings(void) #ifdef CONFIG_ARCH_TEGRA_2x_SOC void __init tegra20_init_early(void) { -#ifndef CONFIG_SMP - /* For SMP system, initializing the reset handler here is too - late. For non-SMP systems, the function that calls the reset - handler initializer is not called, so do it here for non-SMP. */ - tegra_cpu_reset_handler_init(); -#endif tegra_apb_io_init(); tegra_perf_init(); tegra_init_fuse(); @@ -900,12 +894,6 @@ void __init tegra30_init_early(void) u32 tag_latency, data_latency; display_tegra_dt_info(); -#ifndef CONFIG_SMP - /* For SMP system, initializing the reset handler here is too - late. For non-SMP systems, the function that calls the reset - handler initializer is not called, so do it here for non-SMP. */ - tegra_cpu_reset_handler_init(); -#endif tegra_apb_io_init(); tegra_perf_init(); tegra_init_fuse(); @@ -944,12 +932,6 @@ void __init tegra30_init_early(void) void __init tegra11x_init_early(void) { display_tegra_dt_info(); -#ifndef CONFIG_SMP - /* For SMP system, initializing the reset handler here is too - late. For non-SMP systems, the function that calls the reset - handler initializer is not called, so do it here for non-SMP. */ - tegra_cpu_reset_handler_init(); -#endif tegra_apb_io_init(); tegra_perf_init(); tegra_init_fuse(); @@ -973,12 +955,6 @@ void __init tegra11x_init_early(void) void __init tegra12x_init_early(void) { display_tegra_dt_info(); -#ifndef CONFIG_SMP - /* For SMP system, initializing the reset handler here is too - late. For non-SMP systems, the function that calls the reset - handler initializer is not called, so do it here for non-SMP. */ - tegra_cpu_reset_handler_init(); -#endif tegra_apb_io_init(); tegra_perf_init(); tegra_init_fuse(); @@ -1005,12 +981,6 @@ void __init tegra12x_init_early(void) void __init tegra14x_init_early(void) { display_tegra_dt_info(); -#ifndef CONFIG_SMP - /* For SMP system, initializing the reset handler here is too - late. For non-SMP systems, the function that calls the reset - handler initializer is not called, so do it here for non-SMP. */ - tegra_cpu_reset_handler_init(); -#endif tegra_apb_io_init(); tegra_perf_init(); tegra_init_fuse(); |