Commit dc2c9c52 authored by Scott Wood's avatar Scott Wood Committed by Kumar Gala

powerpc/85xx: Set up doorbells even with no mpic

In cases like when the platform is used under hypervisor we will NOT
have an MPIC controller but still want doorbells setup.
Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 470788d4
...@@ -111,14 +111,6 @@ smp_85xx_kick_cpu(int nr) ...@@ -111,14 +111,6 @@ smp_85xx_kick_cpu(int nr)
return 0; return 0;
} }
static void __init
smp_85xx_setup_cpu(int cpu_nr)
{
mpic_setup_this_cpu();
if (cpu_has_feature(CPU_FTR_DBELL))
doorbell_setup_this_cpu();
}
struct smp_ops_t smp_85xx_ops = { struct smp_ops_t smp_85xx_ops = {
.kick_cpu = smp_85xx_kick_cpu, .kick_cpu = smp_85xx_kick_cpu,
#ifdef CONFIG_KEXEC #ifdef CONFIG_KEXEC
...@@ -224,14 +216,25 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image) ...@@ -224,14 +216,25 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image)
} }
#endif /* CONFIG_KEXEC */ #endif /* CONFIG_KEXEC */
static void __init
smp_85xx_setup_cpu(int cpu_nr)
{
if (smp_85xx_ops.probe == smp_mpic_probe)
mpic_setup_this_cpu();
if (cpu_has_feature(CPU_FTR_DBELL))
doorbell_setup_this_cpu();
}
void __init mpc85xx_smp_init(void) void __init mpc85xx_smp_init(void)
{ {
struct device_node *np; struct device_node *np;
smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu;
np = of_find_node_by_type(NULL, "open-pic"); np = of_find_node_by_type(NULL, "open-pic");
if (np) { if (np) {
smp_85xx_ops.probe = smp_mpic_probe; smp_85xx_ops.probe = smp_mpic_probe;
smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu;
smp_85xx_ops.message_pass = smp_mpic_message_pass; smp_85xx_ops.message_pass = smp_mpic_message_pass;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment