From: Olof Johansson Date: Tue, 22 Dec 2015 21:10:00 +0000 (-0800) Subject: Merge branch 'treewide/cleanup' into next/soc X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8907dbaa363de87e5c6f48070e3d8b639477d5ba;p=linux-beck.git Merge branch 'treewide/cleanup' into next/soc Merge in cleanup to avoid internal conflicts with newly added code. * treewide/cleanup: ARM: use "depends on" for SoC configs instead of "if" after prompt ARM/clocksource: use automatic DT probing for ux500 PRCMU ARM: use const and __initconst for smp_operations ARM: hisi: do not export smp_operations structures Signed-off-by: Olof Johansson --- 8907dbaa363de87e5c6f48070e3d8b639477d5ba diff --cc arch/arm/mach-bcm/Kconfig index 0207736674d6,77116dcac01a..c9723d82cb30 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@@ -52,13 -53,9 +55,14 @@@ config ARCH_BCM_NS NAND flash, SATA and several other IO controllers. config ARCH_BCM_5301X - bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7 + bool "Broadcom BCM470X / BCM5301X ARM SoC" + depends on ARCH_MULTI_V7 select ARCH_BCM_IPROC + select ARM_ERRATA_754322 + select ARM_ERRATA_775420 + select ARM_ERRATA_764369 if SMP + select HAVE_SMP + help Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. diff --cc arch/arm/mach-bcm/platsmp.c index ea4201e6d0c9,da8328b97b7d..575defcc53f9 --- a/arch/arm/mach-bcm/platsmp.c +++ b/arch/arm/mach-bcm/platsmp.c @@@ -252,33 -191,12 +252,33 @@@ static int kona_boot_secondary(unsigne pr_err("timeout waiting for cpu %u to start\n", cpu_id); - return -ENOSYS; + return -ENXIO; +} + +static int nsp_boot_secondary(unsigned int cpu, struct task_struct *idle) +{ + int ret; + + /* + * After wake up, secondary core branches to the startup + * address programmed at SKU ROM LUT location. + */ + ret = nsp_write_lut(); + if (ret) { + pr_err("unable to write startup addr to SKU ROM LUT\n"); + goto out; + } + + /* Send a CPU wakeup interrupt to the secondary core */ + arch_send_wakeup_ipi_mask(cpumask_of(cpu)); + +out: + return ret; } - static struct smp_operations bcm_smp_ops __initdata = { + static const struct smp_operations bcm_smp_ops __initconst = { .smp_prepare_cpus = bcm_smp_prepare_cpus, - .smp_boot_secondary = bcm_boot_secondary, + .smp_boot_secondary = kona_boot_secondary, }; CPU_METHOD_OF_DECLARE(bcm_smp_bcm281xx, "brcm,bcm11351-cpu-method", &bcm_smp_ops); diff --cc arch/arm/mach-rockchip/platsmp.c index 9a5b2e0502f3,938888fc55a1..d42a07e33482 --- a/arch/arm/mach-rockchip/platsmp.c +++ b/arch/arm/mach-rockchip/platsmp.c @@@ -351,16 -340,7 +351,16 @@@ static void rockchip_cpu_die(unsigned i } #endif +static const struct smp_operations rk3036_smp_ops __initconst = { + .smp_prepare_cpus = rk3036_smp_prepare_cpus, + .smp_boot_secondary = rockchip_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_kill = rockchip_cpu_kill, + .cpu_die = rockchip_cpu_die, +#endif +}; + - static struct smp_operations rockchip_smp_ops __initdata = { + static const struct smp_operations rockchip_smp_ops __initconst = { .smp_prepare_cpus = rockchip_smp_prepare_cpus, .smp_boot_secondary = rockchip_boot_secondary, #ifdef CONFIG_HOTPLUG_CPU diff --cc arch/arm/mach-zynq/Kconfig index 77d7df75e2a0,f287667e4fc5..fd0aeeb09881 --- a/arch/arm/mach-zynq/Kconfig +++ b/arch/arm/mach-zynq/Kconfig @@@ -1,6 -1,6 +1,7 @@@ config ARCH_ZYNQ - bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 + bool "Xilinx Zynq ARM Cortex A9 Platform" + depends on ARCH_MULTI_V7 + select ARCH_HAS_RESET_CONTROLLER select ARCH_SUPPORTS_BIG_ENDIAN select ARM_AMBA select ARM_GIC