Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6339189e authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux into next/cleanup

Merge "Broadcom SoC changes for 4.3 (part 1)" from Florian Fainelli:

This pull request contains two fixes for the Broadcom BCM63xx SMP code:

- Sudeep removes an invalid use of cpu_logical_map() which turned to be a no-op
  since we always boot from physical CPU 0 = logical CPU 0

- Florian removes the custom secondary_startup function and replaces it with
  the generic one

* tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux

:
  ARM: BCM63xx: Remove custom secondary_startup function
  ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 3bf7b20a ffb910d7
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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)
+0 −23
Original line number Diff line number Diff line
/*
 *  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)
+2 −2
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ static int bcm63138_smp_boot_secondary(unsigned int cpu,
	}

	/* Locate the secondary CPU node */
	dn = of_get_cpu_node(cpu_logical_map(cpu), NULL);
	dn = of_get_cpu_node(cpu, NULL);
	if (!dn) {
		pr_err("SMP: failed to locate secondary CPU%d node\n", cpu);
		ret = -ENODEV;
@@ -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
+0 −1
Original line number Diff line number Diff line
@@ -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 */