diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2018-12-13 12:54:26 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2019-02-01 21:59:15 +0000 |
commit | 70678554c4c40f2cf8de5e7cd53fdd2c73387e51 (patch) | |
tree | 186115df868f791a60007aa405363ce1827e90c5 /arch/arm/mach-actions | |
parent | 0eb037998afe5514c8534276c152da31d2fabf07 (diff) | |
download | linux-70678554c4c40f2cf8de5e7cd53fdd2c73387e51.tar.bz2 |
ARM: actions: remove boot_lock and pen_release
The actions SMP implementation has several issues:
1. pen_release is only ever read and compared to -1, and is defined in
arch/arm/kernel/smp.c to be -1. This test will always succeed.
2. we are already guaranteed to be single threaded while bringing up a
CPU, so the spinlock makes no sense, remove it.
3. owl_secondary_startup() is not referenced nor defined, the prototype
is redundant, remove it.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mach-actions')
-rw-r--r-- | arch/arm/mach-actions/platsmp.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/arch/arm/mach-actions/platsmp.c b/arch/arm/mach-actions/platsmp.c index 3efaa10efc43..4fd479c948e6 100644 --- a/arch/arm/mach-actions/platsmp.c +++ b/arch/arm/mach-actions/platsmp.c @@ -39,10 +39,6 @@ static void __iomem *sps_base_addr; static void __iomem *timer_base_addr; static int ncores; -static DEFINE_SPINLOCK(boot_lock); - -void owl_secondary_startup(void); - static int s500_wakeup_secondary(unsigned int cpu) { int ret; @@ -84,7 +80,6 @@ static int s500_wakeup_secondary(unsigned int cpu) static int s500_smp_boot_secondary(unsigned int cpu, struct task_struct *idle) { - unsigned long timeout; int ret; ret = s500_wakeup_secondary(cpu); @@ -93,21 +88,11 @@ static int s500_smp_boot_secondary(unsigned int cpu, struct task_struct *idle) udelay(10); - spin_lock(&boot_lock); - smp_send_reschedule(cpu); - timeout = jiffies + (1 * HZ); - while (time_before(jiffies, timeout)) { - if (pen_release == -1) - break; - } - writel(0, timer_base_addr + OWL_CPU1_ADDR + (cpu - 1) * 4); writel(0, timer_base_addr + OWL_CPU1_FLAG + (cpu - 1) * 4); - spin_unlock(&boot_lock); - return 0; } |