From: Magnus Damm <[email protected]>

Adjust the r8a7791 SoC support code to not configure any non-DT SMP code
in case the DT-based enable-method has been installed already.

Signed-off-by: Magnus Damm <[email protected]>
---

 arch/arm/mach-shmobile/r8a7791.h       |    2 +-
 arch/arm/mach-shmobile/setup-r8a7791.c |    2 +-
 arch/arm/mach-shmobile/smp-r8a7791.c   |   11 ++++++++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

--- 0001/arch/arm/mach-shmobile/r8a7791.h
+++ work/arch/arm/mach-shmobile/r8a7791.h       2015-05-20 22:52:00.602366518 
+0900
@@ -1,6 +1,6 @@
 #ifndef __ASM_R8A7791_H__
 #define __ASM_R8A7791_H__
 
-extern struct smp_operations r8a7791_smp_ops;
+bool r8a7791_smp_init(void);
 
 #endif /* __ASM_R8A7791_H__ */
--- 0001/arch/arm/mach-shmobile/setup-r8a7791.c
+++ work/arch/arm/mach-shmobile/setup-r8a7791.c 2015-05-20 22:55:48.172366518 
+0900
@@ -29,7 +29,7 @@ static const char *r8a7791_boards_compat
 };
 
 DT_MACHINE_START(R8A7791_DT, "Generic R8A7791 (Flattened Device Tree)")
-       .smp            = smp_ops(r8a7791_smp_ops),
+       .smp_init       = r8a7791_smp_init,
        .init_early     = shmobile_init_delay,
        .init_time      = rcar_gen2_timer_init,
        .init_late      = shmobile_init_late,
--- 0001/arch/arm/mach-shmobile/smp-r8a7791.c
+++ work/arch/arm/mach-shmobile/smp-r8a7791.c   2015-05-20 22:57:53.502366518 
+0900
@@ -54,7 +54,7 @@ static int r8a7791_smp_boot_secondary(un
        return shmobile_smp_apmu_boot_secondary(cpu, idle);
 }
 
-struct smp_operations r8a7791_smp_ops __initdata = {
+static struct smp_operations r8a7791_smp_ops __initdata = {
        .smp_prepare_cpus       = r8a7791_smp_prepare_cpus,
        .smp_boot_secondary     = r8a7791_smp_boot_secondary,
 #ifdef CONFIG_HOTPLUG_CPU
@@ -63,3 +63,12 @@ struct smp_operations r8a7791_smp_ops __
        .cpu_kill               = shmobile_smp_apmu_cpu_kill,
 #endif
 };
+
+bool __init r8a7791_smp_init(void)
+{
+       /* only setup when no other DT based method is detected */
+       if (!platform_can_secondary_boot())
+               smp_set_ops(&r8a7791_smp_ops);
+
+       return true;
+}
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to