From 26b8f996239884451aeb1213747e3ca808c26024 Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Mon, 12 Oct 2015 16:38:07 +0530 Subject: ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_early_smp() MCIP now registers it's own probe callback with smp_ops.init_early_smp() which is called by ARC common code, so no need for platforms to do that. This decouples the platforms and MCIP and helps confine MCIP details to it's own file. Signed-off-by: Vineet Gupta --- arch/arc/plat-sim/platform.c | 1 - 1 file changed, 1 deletion(-) (limited to 'arch/arc/plat-sim/platform.c') diff --git a/arch/arc/plat-sim/platform.c b/arch/arc/plat-sim/platform.c index d9e35b4a2f08..e4128cca1b52 100644 --- a/arch/arc/plat-sim/platform.c +++ b/arch/arc/plat-sim/platform.c @@ -31,7 +31,6 @@ static const char *simulation_compat[] __initconst = { MACHINE_START(SIMULATION, "simulation") .dt_compat = simulation_compat, #ifdef CONFIG_ARC_MCIP - .init_early = mcip_init_early_smp, .init_smp = mcip_init_smp, #endif MACHINE_END -- cgit v1.2.3 From aa0efcde45a36d1ea2bc5bde4d47f36ec17502de Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Mon, 12 Oct 2015 15:15:48 +0530 Subject: ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() 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 --- arch/arc/include/asm/mcip.h | 2 -- arch/arc/kernel/mcip.c | 10 ++-------- arch/arc/plat-axs10x/axs10x.c | 3 --- arch/arc/plat-sim/platform.c | 3 --- 4 files changed, 2 insertions(+), 16 deletions(-) (limited to 'arch/arc/plat-sim/platform.c') diff --git a/arch/arc/include/asm/mcip.h b/arch/arc/include/asm/mcip.h index c9b2b402a810..46f4e5351b2a 100644 --- a/arch/arc/include/asm/mcip.h +++ b/arch/arc/include/asm/mcip.h @@ -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 diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c index 96b0b62ced65..74a9b074ac3e 100644 --- a/arch/arc/kernel/mcip.c +++ b/arch/arc/kernel/mcip.c @@ -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); } @@ -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, }; diff --git a/arch/arc/plat-axs10x/axs10x.c b/arch/arc/plat-axs10x/axs10x.c index 9ce199963363..1b0f0f458a2b 100644 --- a/arch/arc/plat-axs10x/axs10x.c +++ b/arch/arc/plat-axs10x/axs10x.c @@ -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 /* diff --git a/arch/arc/plat-sim/platform.c b/arch/arc/plat-sim/platform.c index e4128cca1b52..dde692812bc1 100644 --- a/arch/arc/plat-sim/platform.c +++ b/arch/arc/plat-sim/platform.c @@ -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 -- cgit v1.2.3 From 76a8c40c65a2fc9e526fcba97c0cd1a6ecbd3438 Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Sat, 31 Oct 2015 00:47:39 +0530 Subject: ARC: remove extraneous header include Signed-off-by: Vineet Gupta --- arch/arc/plat-sim/platform.c | 1 - 1 file changed, 1 deletion(-) (limited to 'arch/arc/plat-sim/platform.c') diff --git a/arch/arc/plat-sim/platform.c b/arch/arc/plat-sim/platform.c index dde692812bc1..e4fe51456808 100644 --- a/arch/arc/plat-sim/platform.c +++ b/arch/arc/plat-sim/platform.c @@ -10,7 +10,6 @@ #include #include -#include /*----------------------- Machine Descriptions ------------------------------ * -- cgit v1.2.3