Skip to content

Commit

Permalink
ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp()
Browse files Browse the repository at this point in the history
MCIP now registers it's own per cpu setup routine (for IPI IRQ request)
using smp_ops.init_irq_cpu().

So no need for platforms to do that. This now completely decouples
platforms from MCIP.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
  • Loading branch information
Vineet Gupta committed Oct 28, 2015
1 parent 286130e commit aa0efcd
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 16 deletions.
2 changes: 0 additions & 2 deletions arch/arc/include/asm/mcip.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,6 @@ static inline void __mcip_cmd_data(unsigned int cmd, unsigned int param,
__mcip_cmd(cmd, param);
}

extern void mcip_init_smp(unsigned int cpu);

#endif

#endif
10 changes: 2 additions & 8 deletions arch/arc/kernel/mcip.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,7 @@ static int idu_detected;

static DEFINE_RAW_SPINLOCK(mcip_lock);

/*
* Any SMP specific init any CPU does when it comes up.
* Here we setup the CPU to enable Inter-Processor-Interrupts
* Called for each CPU
* -Master : init_IRQ()
* -Other(s) : start_kernel_secondary()
*/
void mcip_init_smp(unsigned int cpu)
static void mcip_setup_per_cpu(int cpu)
{
smp_ipi_irq_setup(cpu, IPI_IRQ);
}
Expand Down Expand Up @@ -139,6 +132,7 @@ static void mcip_probe_n_setup(void)
struct plat_smp_ops plat_smp_ops = {
.info = smp_cpuinfo_buf,
.init_early_smp = mcip_probe_n_setup,
.init_irq_cpu = mcip_setup_per_cpu,
.ipi_send = mcip_ipi_send,
.ipi_clear = mcip_ipi_clear,
};
Expand Down
3 changes: 0 additions & 3 deletions arch/arc/plat-axs10x/axs10x.c
Original file line number Diff line number Diff line change
Expand Up @@ -482,9 +482,6 @@ static const char *axs103_compat[] __initconst = {
MACHINE_START(AXS103, "axs103")
.dt_compat = axs103_compat,
.init_early = axs103_early_init,
#ifdef CONFIG_ARC_MCIP
.init_smp = mcip_init_smp,
#endif
MACHINE_END

/*
Expand Down
3 changes: 0 additions & 3 deletions arch/arc/plat-sim/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,4 @@ static const char *simulation_compat[] __initconst = {

MACHINE_START(SIMULATION, "simulation")
.dt_compat = simulation_compat,
#ifdef CONFIG_ARC_MCIP
.init_smp = mcip_init_smp,
#endif
MACHINE_END

0 comments on commit aa0efcd

Please sign in to comment.