[MIPS] SMP: Fix initialization order bug.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 23 Feb 2006 12:23:27 +0000 (12:23 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 27 Feb 2006 17:30:36 +0000 (17:30 +0000)
commit9b6695a8adfe0916e81ddd810a5b9db3eb8b0e46
tree62ba9475530c88ccf2149cd58eabd97ebe096aca
parent3e6cb2d38a9c9758170813497a860c64543643d5
[MIPS] SMP: Fix initialization order bug.

A recent change requires cpu_possible_map to be initialized before
smp_sched_init() but most MIPS platforms were initializing their
processors in the prom_prepare_cpus callback of smp_prepare_cpus.  The
simple fix of calling prom_prepare_cpus from one of the earlier SMP
initialization hooks doesn't work well either since IPIs may require
init_IRQ() to have completed, so bit the bullet and split
prom_prepare_cpus into two initialization functions, plat_smp_setup
which is called early from setup_arch and plat_prepare_cpus called where
prom_prepare_cpus used to be called.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/setup.c
arch/mips/kernel/smp.c
arch/mips/kernel/smp_mt.c
arch/mips/pmc-sierra/yosemite/smp.c
arch/mips/sgi-ip27/ip27-smp.c
arch/mips/sibyte/cfe/smp.c
include/asm-mips/smp.h