mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 01:09:38 -05:00
ARM: BCM63xx: Remove custom secondary_startup function
With commit 02b4e2756e
("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>
This commit is contained in:
parent
a6b4b25bd1
commit
ffb910d7b8
4 changed files with 2 additions and 28 deletions
|
@ -39,10 +39,8 @@ obj-$(CONFIG_ARCH_BCM_5301X) += bcm_5301x.o
|
||||||
|
|
||||||
# BCM63XXx
|
# BCM63XXx
|
||||||
ifeq ($(CONFIG_ARCH_BCM_63XX),y)
|
ifeq ($(CONFIG_ARCH_BCM_63XX),y)
|
||||||
CFLAGS_bcm63xx_headsmp.o += -march=armv7-a
|
|
||||||
obj-y += bcm63xx.o
|
obj-y += bcm63xx.o
|
||||||
obj-$(CONFIG_SMP) += bcm63xx_smp.o bcm63xx_headsmp.o \
|
obj-$(CONFIG_SMP) += bcm63xx_smp.o bcm63xx_pmb.o
|
||||||
bcm63xx_pmb.o
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_BRCMSTB),y)
|
ifeq ($(CONFIG_ARCH_BRCMSTB),y)
|
||||||
|
|
|
@ -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)
|
|
|
@ -135,7 +135,7 @@ static int bcm63138_smp_boot_secondary(unsigned int cpu,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write the secondary init routine to the BootLUT reset vector */
|
/* 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);
|
writel_relaxed(val, bootlut_base + BOOTLUT_RESET_VECT);
|
||||||
|
|
||||||
/* Power up the core, will jump straight to its reset vector when we
|
/* Power up the core, will jump straight to its reset vector when we
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
struct device_node;
|
struct device_node;
|
||||||
|
|
||||||
extern void bcm63138_secondary_startup(void);
|
|
||||||
extern int bcm63xx_pmb_power_on_cpu(struct device_node *dn);
|
extern int bcm63xx_pmb_power_on_cpu(struct device_node *dn);
|
||||||
|
|
||||||
#endif /* __BCM63XX_SMP_H */
|
#endif /* __BCM63XX_SMP_H */
|
||||||
|
|
Loading…
Add table
Reference in a new issue