Revert "ARM: tegra: Unify tegra{20,30,114}_init_early()"
Dan Willemsen [Tue, 20 Aug 2013 03:49:51 +0000 (20:49 -0700)]
This reverts commit 7469688e832e340a84a1f6d4c290d8680c723256.

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

arch/arm/mach-tegra/board-dt-tegra114.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/board.h
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/hotplug.c
arch/arm/mach-tegra/sleep.h

index 08e8294..085d636 100644 (file)
@@ -36,7 +36,7 @@ static const char * const tegra114_dt_board_compat[] = {
 DT_MACHINE_START(TEGRA114_DT, "NVIDIA Tegra114 (Flattened Device Tree)")
        .smp            = smp_ops(tegra_smp_ops),
        .map_io         = tegra_map_common_io,
-       .init_early     = tegra_init_early,
+       .init_early     = tegra114_init_early,
        .init_irq       = tegra_dt_init_irq,
        .init_time      = clocksource_of_init,
        .init_machine   = tegra114_dt_init,
index 1f55a1a..02584cc 100644 (file)
@@ -148,7 +148,7 @@ static const char *tegra20_dt_board_compat[] = {
 DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)")
        .map_io         = tegra_map_common_io,
        .smp            = smp_ops(tegra_smp_ops),
-       .init_early     = tegra_init_early,
+       .init_early     = tegra20_init_early,
        .init_irq       = tegra_dt_init_irq,
        .init_time      = clocksource_of_init,
        .init_machine   = tegra_dt_init,
index 63f8139..bf68567 100644 (file)
@@ -3,7 +3,7 @@
  *
  * NVIDIA Tegra30 device tree board support
  *
- * Copyright (C) 2011, 2013, NVIDIA Corporation
+ * Copyright (C) 2011 NVIDIA Corporation
  *
  * Derived from:
  *
@@ -50,7 +50,7 @@ static const char *tegra30_dt_board_compat[] = {
 DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)")
        .smp            = smp_ops(tegra_smp_ops),
        .map_io         = tegra_map_common_io,
-       .init_early     = tegra_init_early,
+       .init_early     = tegra30_init_early,
        .init_irq       = tegra_dt_init_irq,
        .init_time      = clocksource_of_init,
        .init_machine   = tegra30_dt_init,
index 60431de..86851c8 100644 (file)
@@ -26,7 +26,9 @@
 
 void tegra_assert_system_reset(char mode, const char *cmd);
 
-void __init tegra_init_early(void);
+void __init tegra20_init_early(void);
+void __init tegra30_init_early(void);
+void __init tegra114_init_early(void);
 void __init tegra_map_common_io(void);
 void __init tegra_init_irq(void);
 void __init tegra_dt_init_irq(void);
index b02ebe7..242c748 100644 (file)
@@ -95,16 +95,38 @@ static void __init tegra_init_cache(void)
 
 }
 
-void __init tegra_init_early(void)
+static void __init tegra_init_early(void)
 {
        tegra_cpu_reset_handler_init();
        tegra_apb_io_init();
        tegra_init_fuse();
        tegra_init_cache();
        tegra_powergate_init();
-       tegra_hotplug_init();
 }
 
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+void __init tegra20_init_early(void)
+{
+       tegra_init_early();
+       tegra20_hotplug_init();
+}
+#endif
+
+#ifdef CONFIG_ARCH_TEGRA_3x_SOC
+void __init tegra30_init_early(void)
+{
+       tegra_init_early();
+       tegra30_hotplug_init();
+}
+#endif
+
+#ifdef CONFIG_ARCH_TEGRA_114_SOC
+void __init tegra114_init_early(void)
+{
+       tegra_init_early();
+}
+#endif
+
 void __init tegra_init_late(void)
 {
        tegra_powergate_debugfs_init();
index a557bc9..1fb9915 100644 (file)
@@ -1,7 +1,8 @@
 /*
+ *
  *  Copyright (C) 2002 ARM Ltd.
  *  All Rights Reserved
- *  Copyright (c) 2010, 2012-2013, NVIDIA Corporation. All rights reserved.
+ *  Copyright (c) 2010, 2012 NVIDIA Corporation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -14,7 +15,6 @@
 #include <asm/cacheflush.h>
 #include <asm/smp_plat.h>
 
-#include "fuse.h"
 #include "sleep.h"
 
 static void (*tegra_hotplug_shutdown)(void);
@@ -47,13 +47,18 @@ void __ref tegra_cpu_die(unsigned int cpu)
        BUG();
 }
 
-void __init tegra_hotplug_init(void)
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+extern void tegra20_hotplug_shutdown(void);
+void __init tegra20_hotplug_init(void)
 {
-       if (!IS_ENABLED(CONFIG_HOTPLUG_CPU))
-               return;
+       tegra_hotplug_shutdown = tegra20_hotplug_shutdown;
+}
+#endif
 
-       if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) && tegra_chip_id == TEGRA20)
-               tegra_hotplug_shutdown = tegra20_hotplug_shutdown;
-       if (IS_ENABLED(CONFIG_ARCH_TEGRA_3x_SOC) && tegra_chip_id == TEGRA30)
-               tegra_hotplug_shutdown = tegra30_hotplug_shutdown;
+#ifdef CONFIG_ARCH_TEGRA_3x_SOC
+extern void tegra30_hotplug_shutdown(void);
+void __init tegra30_hotplug_init(void)
+{
+       tegra_hotplug_shutdown = tegra30_hotplug_shutdown;
 }
+#endif
index 970ebd5..4ffae54 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2013, NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2010-2012, NVIDIA Corporation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -124,11 +124,11 @@ int tegra_sleep_cpu_finish(unsigned long);
 void tegra_disable_clean_inv_dcache(void);
 
 #ifdef CONFIG_HOTPLUG_CPU
-void tegra20_hotplug_shutdown(void);
-void tegra30_hotplug_shutdown(void);
-void tegra_hotplug_init(void);
+void tegra20_hotplug_init(void);
+void tegra30_hotplug_init(void);
 #else
-static inline void tegra_hotplug_init(void) {}
+static inline void tegra20_hotplug_init(void) {}
+static inline void tegra30_hotplug_init(void) {}
 #endif
 
 void tegra20_cpu_shutdown(int cpu);