Commit 60116a73 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt
Browse files

ARM: mach-shmobile: sh73a0 twd_base fix



Fix the case of too late twd_base initialization for SMP
on sh73a0 which bas been broken because sh73a0 specific
smp_prepare_cpu() and percpu_timer_setup() changed order
in the commits:

05c74a6c
c413521e

Without this fix the sh73a0 SMP kernel panics on boot.

Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 34154f35
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -59,6 +59,11 @@ unsigned int __init sh73a0_get_core_count(void)
{
	void __iomem *scu_base = scu_base_addr();

#ifdef CONFIG_HAVE_ARM_TWD
	/* twd_base needs to be initialized before percpu_timer_setup() */
	twd_base = (void __iomem *)0xf0000600;
#endif

	return scu_get_core_count(scu_base);
}

@@ -82,10 +87,6 @@ int __cpuinit sh73a0_boot_secondary(unsigned int cpu)

void __init sh73a0_smp_prepare_cpus(void)
{
#ifdef CONFIG_HAVE_ARM_TWD
	twd_base = (void __iomem *)0xf0000600;
#endif

	scu_enable(scu_base_addr());

	/* Map the reset vector (in headsmp.S) */