Skip to content

Commit

Permalink
powerpc/85xx: Set up doorbells even with no mpic
Browse files Browse the repository at this point in the history
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: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
  • Loading branch information
Scott Wood authored and Kumar Gala committed Jun 23, 2011
1 parent 470788d commit dc2c9c5
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions arch/powerpc/platforms/85xx/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,6 @@ smp_85xx_kick_cpu(int nr)
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 = {
.kick_cpu = smp_85xx_kick_cpu,
#ifdef CONFIG_KEXEC
Expand Down Expand Up @@ -224,14 +216,25 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image)
}
#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)
{
struct device_node *np;

smp_85xx_ops.setup_cpu = smp_85xx_setup_cpu;

np = of_find_node_by_type(NULL, "open-pic");
if (np) {
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;
}

Expand Down

0 comments on commit dc2c9c5

Please sign in to comment.