ARM: omap2: remove unnecessary boot_lock
authorRussell King <rmk+kernel@armlinux.org.uk>
Thu, 13 Dec 2018 12:54:26 +0000 (12:54 +0000)
committerRussell King <rmk+kernel@armlinux.org.uk>
Fri, 14 Dec 2018 14:44:59 +0000 (14:44 +0000)
The boot_lock is something that was required for ARM development
platforms to ensure that the delay calibration worked properly.  This
is not necessary for modern platforms that have better bus bandwidth
and do not need to calibrate the delay loop for secondary cores.
Remove the boot_lock entirely.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/mach-omap2/omap-smp.c

index 1c73694c871ad8289b572056d5c3727f3ee22eb2..10e070368f64f6997b8f5b9ad933bfe708e7a507 100644 (file)
@@ -69,8 +69,6 @@ static const struct omap_smp_config omap5_cfg __initconst = {
        .startup_addr = omap5_secondary_startup,
 };
 
-static DEFINE_SPINLOCK(boot_lock);
-
 void __iomem *omap4_get_scu_base(void)
 {
        return cfg.scu_base;
@@ -173,12 +171,6 @@ static void omap4_secondary_init(unsigned int cpu)
                /* Enable ACR to allow for ICUALLU workaround */
                omap5_secondary_harden_predictor();
        }
-
-       /*
-        * Synchronise with the boot thread.
-        */
-       spin_lock(&boot_lock);
-       spin_unlock(&boot_lock);
 }
 
 static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
@@ -187,12 +179,6 @@ static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
        static bool booted;
        static struct powerdomain *cpu1_pwrdm;
 
-       /*
-        * Set synchronisation state between this boot processor
-        * and the secondary one
-        */
-       spin_lock(&boot_lock);
-
        /*
         * Update the AuxCoreBoot0 with boot state for secondary core.
         * omap4_secondary_startup() routine will hold the secondary core till
@@ -266,12 +252,6 @@ static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
 
        arch_send_wakeup_ipi_mask(cpumask_of(cpu));
 
-       /*
-        * Now the secondary core is starting up let it run its
-        * calibrations, then wait for it to finish
-        */
-       spin_unlock(&boot_lock);
-
        return 0;
 }