summaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel/mcip.c
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2015-10-12 16:38:07 +0530
committerVineet Gupta <vgupta@synopsys.com>2015-10-28 16:13:40 +0530
commit26b8f996239884451aeb1213747e3ca808c26024 (patch)
treecbe21b30990e06a6da6cddc545016fce790c427d /arch/arc/kernel/mcip.c
parente55af4da026ebdb9ded3cb7708b8a8bd7884ad3a (diff)
downloadlinux-26b8f996239884451aeb1213747e3ca808c26024.tar.bz2
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 <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/mcip.c')
-rw-r--r--arch/arc/kernel/mcip.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index e18d36eb0af6..96b0b62ced65 100644
--- a/arch/arc/kernel/mcip.c
+++ b/arch/arc/kernel/mcip.c
@@ -97,13 +97,7 @@ static void mcip_ipi_clear(int irq)
#endif
}
-struct plat_smp_ops plat_smp_ops = {
- .info = smp_cpuinfo_buf,
- .ipi_send = mcip_ipi_send,
- .ipi_clear = mcip_ipi_clear,
-};
-
-void mcip_init_early_smp(void)
+static void mcip_probe_n_setup(void)
{
struct mcip_bcr {
#ifdef CONFIG_CPU_BIG_ENDIAN
@@ -142,6 +136,13 @@ void mcip_init_early_smp(void)
panic("kernel trying to use non-existent GRTC\n");
}
+struct plat_smp_ops plat_smp_ops = {
+ .info = smp_cpuinfo_buf,
+ .init_early_smp = mcip_probe_n_setup,
+ .ipi_send = mcip_ipi_send,
+ .ipi_clear = mcip_ipi_clear,
+};
+
/***************************************************************************
* ARCv2 Interrupt Distribution Unit (IDU)
*