diff options
-rw-r--r-- | arch/arc/include/asm/mcip.h | 1 | ||||
-rw-r--r-- | arch/arc/kernel/mcip.c | 15 | ||||
-rw-r--r-- | arch/arc/plat-axs10x/axs10x.c | 5 | ||||
-rw-r--r-- | arch/arc/plat-sim/platform.c | 1 |
4 files changed, 8 insertions, 14 deletions
diff --git a/arch/arc/include/asm/mcip.h b/arch/arc/include/asm/mcip.h index 52c11f0bb0e5..c9b2b402a810 100644 --- a/arch/arc/include/asm/mcip.h +++ b/arch/arc/include/asm/mcip.h | |||
@@ -86,7 +86,6 @@ static inline void __mcip_cmd_data(unsigned int cmd, unsigned int param, | |||
86 | __mcip_cmd(cmd, param); | 86 | __mcip_cmd(cmd, param); |
87 | } | 87 | } |
88 | 88 | ||
89 | extern void mcip_init_early_smp(void); | ||
90 | extern void mcip_init_smp(unsigned int cpu); | 89 | extern void mcip_init_smp(unsigned int cpu); |
91 | 90 | ||
92 | #endif | 91 | #endif |
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) | |||
97 | #endif | 97 | #endif |
98 | } | 98 | } |
99 | 99 | ||
100 | struct plat_smp_ops plat_smp_ops = { | 100 | static void mcip_probe_n_setup(void) |
101 | .info = smp_cpuinfo_buf, | ||
102 | .ipi_send = mcip_ipi_send, | ||
103 | .ipi_clear = mcip_ipi_clear, | ||
104 | }; | ||
105 | |||
106 | void mcip_init_early_smp(void) | ||
107 | { | 101 | { |
108 | struct mcip_bcr { | 102 | struct mcip_bcr { |
109 | #ifdef CONFIG_CPU_BIG_ENDIAN | 103 | #ifdef CONFIG_CPU_BIG_ENDIAN |
@@ -142,6 +136,13 @@ void mcip_init_early_smp(void) | |||
142 | panic("kernel trying to use non-existent GRTC\n"); | 136 | panic("kernel trying to use non-existent GRTC\n"); |
143 | } | 137 | } |
144 | 138 | ||
139 | struct plat_smp_ops plat_smp_ops = { | ||
140 | .info = smp_cpuinfo_buf, | ||
141 | .init_early_smp = mcip_probe_n_setup, | ||
142 | .ipi_send = mcip_ipi_send, | ||
143 | .ipi_clear = mcip_ipi_clear, | ||
144 | }; | ||
145 | |||
145 | /*************************************************************************** | 146 | /*************************************************************************** |
146 | * ARCv2 Interrupt Distribution Unit (IDU) | 147 | * ARCv2 Interrupt Distribution Unit (IDU) |
147 | * | 148 | * |
diff --git a/arch/arc/plat-axs10x/axs10x.c b/arch/arc/plat-axs10x/axs10x.c index 0a77b19e1df8..9ce199963363 100644 --- a/arch/arc/plat-axs10x/axs10x.c +++ b/arch/arc/plat-axs10x/axs10x.c | |||
@@ -455,11 +455,6 @@ static void __init axs103_early_init(void) | |||
455 | axs10x_print_board_ver(AXC003_CREG + 4088, "AXC003 CPU Card"); | 455 | axs10x_print_board_ver(AXC003_CREG + 4088, "AXC003 CPU Card"); |
456 | 456 | ||
457 | axs10x_early_init(); | 457 | axs10x_early_init(); |
458 | |||
459 | #ifdef CONFIG_ARC_MCIP | ||
460 | /* No Hardware init, but filling the smp ops callbacks */ | ||
461 | mcip_init_early_smp(); | ||
462 | #endif | ||
463 | } | 458 | } |
464 | #endif | 459 | #endif |
465 | 460 | ||
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 = { | |||
31 | MACHINE_START(SIMULATION, "simulation") | 31 | MACHINE_START(SIMULATION, "simulation") |
32 | .dt_compat = simulation_compat, | 32 | .dt_compat = simulation_compat, |
33 | #ifdef CONFIG_ARC_MCIP | 33 | #ifdef CONFIG_ARC_MCIP |
34 | .init_early = mcip_init_early_smp, | ||
35 | .init_smp = mcip_init_smp, | 34 | .init_smp = mcip_init_smp, |
36 | #endif | 35 | #endif |
37 | MACHINE_END | 36 | MACHINE_END |