ARM: BCM63xx: Remove custom secondary_startup function
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 8 Jul 2015 01:17:01 +0000 (18:17 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Sun, 12 Jul 2015 01:33:51 +0000 (18:33 -0700)
With commit 02b4e2756e01c623cc4dbceae4b07be75252db5b ("ARM: v7 setup
function should invalidate L1 cache"), the default secondary_startup
function for ARMv7 CPUs does invalidate the L1 cache, which was the sole
reason why BCM63xx had to have its own secondary_startup implementation.

Now that the secondary_startup takes care of this, we can completely
remove that code.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/mach-bcm/Makefile
arch/arm/mach-bcm/bcm63xx_headsmp.S [deleted file]
arch/arm/mach-bcm/bcm63xx_smp.c
arch/arm/mach-bcm/bcm63xx_smp.h

index 4fb0da4..1780a3f 100644 (file)
@@ -39,10 +39,8 @@ obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o
 
 # BCM63XXx
 ifeq ($(CONFIG_ARCH_BCM_63XX),y)
-CFLAGS_bcm63xx_headsmp.o       += -march=armv7-a
 obj-y                          += bcm63xx.o
-obj-$(CONFIG_SMP)              += bcm63xx_smp.o bcm63xx_headsmp.o \
-                                  bcm63xx_pmb.o
+obj-$(CONFIG_SMP)              += bcm63xx_smp.o bcm63xx_pmb.o
 endif
 
 ifeq ($(CONFIG_ARCH_BRCMSTB),y)
diff --git a/arch/arm/mach-bcm/bcm63xx_headsmp.S b/arch/arm/mach-bcm/bcm63xx_headsmp.S
deleted file mode 100644 (file)
index c7af397..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Copyright (C) 2015, Broadcom 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
- * published by the Free Software Foundation.
- */
-#include <linux/linkage.h>
-#include <linux/init.h>
-#include <asm/assembler.h>
-
-ENTRY(bcm63138_secondary_startup)
- ARM_BE8(setend        be)
-       /*
-        * L1 cache does have unpredictable contents at power-up clean its
-        * contents without flushing
-        */
-       bl      v7_invalidate_l1
-       nop
-
-       b       secondary_startup
-ENDPROC(bcm63138_secondary_startup)
index b8e18cc..19be904 100644 (file)
@@ -135,7 +135,7 @@ static int bcm63138_smp_boot_secondary(unsigned int cpu,
        }
 
        /* Write the secondary init routine to the BootLUT reset vector */
-       val = virt_to_phys(bcm63138_secondary_startup);
+       val = virt_to_phys(secondary_startup);
        writel_relaxed(val, bootlut_base + BOOTLUT_RESET_VECT);
 
        /* Power up the core, will jump straight to its reset vector when we
index 50b7604..9c6d50e 100644 (file)
@@ -3,7 +3,6 @@
 
 struct device_node;
 
-extern void bcm63138_secondary_startup(void);
 extern int bcm63xx_pmb_power_on_cpu(struct device_node *dn);
 
 #endif /* __BCM63XX_SMP_H */