Commit 86425bed authored by Rashmica Gupta's avatar Rashmica Gupta Committed by Michael Ellerman

powerpc/pseries: Remove MPIC from pseries smp

MPIC was only used by Power3 which is now unsupported, so remove MPIC
code. XICS is now the only supported interrupt controller for
pSeries so do some cleanups too.
Signed-off-by: default avatarRashmica Gupta <rashmicy@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent e7da5dac
...@@ -31,11 +31,9 @@ extern int pSeries_system_reset_exception(struct pt_regs *regs); ...@@ -31,11 +31,9 @@ extern int pSeries_system_reset_exception(struct pt_regs *regs);
extern int pSeries_machine_check_exception(struct pt_regs *regs); extern int pSeries_machine_check_exception(struct pt_regs *regs);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
extern void smp_init_pseries_mpic(void); extern void smp_init_pseries(void);
extern void smp_init_pseries_xics(void);
#else #else
static inline void smp_init_pseries_mpic(void) { }; static inline void smp_init_pseries(void) { };
static inline void smp_init_pseries_xics(void) { };
#endif #endif
#ifdef CONFIG_KEXEC #ifdef CONFIG_KEXEC
......
...@@ -437,7 +437,7 @@ static void __init pSeries_setup_arch(void) ...@@ -437,7 +437,7 @@ static void __init pSeries_setup_arch(void)
/* Discover PIC type and setup ppc_md accordingly */ /* Discover PIC type and setup ppc_md accordingly */
setup_kexec_cpu_down_xics(); setup_kexec_cpu_down_xics();
smp_init_pseries_xics(); smp_init_pseries();
/* openpic global configuration register (64-bit format). */ /* openpic global configuration register (64-bit format). */
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include <asm/cputable.h> #include <asm/cputable.h>
#include <asm/firmware.h> #include <asm/firmware.h>
#include <asm/rtas.h> #include <asm/rtas.h>
#include <asm/mpic.h>
#include <asm/vdso_datapage.h> #include <asm/vdso_datapage.h>
#include <asm/cputhreads.h> #include <asm/cputhreads.h>
#include <asm/xics.h> #include <asm/xics.h>
...@@ -140,7 +139,7 @@ static inline int smp_startup_cpu(unsigned int lcpu) ...@@ -140,7 +139,7 @@ static inline int smp_startup_cpu(unsigned int lcpu)
return 1; return 1;
} }
static void smp_xics_setup_cpu(int cpu) static void smp_setup_cpu(int cpu)
{ {
if (cpu != boot_cpuid) if (cpu != boot_cpuid)
xics_setup_cpu(); xics_setup_cpu();
...@@ -207,28 +206,22 @@ static __init void pSeries_smp_probe(void) ...@@ -207,28 +206,22 @@ static __init void pSeries_smp_probe(void)
} }
} }
static struct smp_ops_t pSeries_mpic_smp_ops = { static struct smp_ops_t pseries_smp_ops = {
.message_pass = smp_mpic_message_pass,
.probe = smp_mpic_probe,
.kick_cpu = smp_pSeries_kick_cpu,
.setup_cpu = smp_mpic_setup_cpu,
};
static struct smp_ops_t pSeries_xics_smp_ops = {
.message_pass = NULL, /* Use smp_muxed_ipi_message_pass */ .message_pass = NULL, /* Use smp_muxed_ipi_message_pass */
.cause_ipi = NULL, /* Filled at runtime by pSeries_smp_probe() */ .cause_ipi = NULL, /* Filled at runtime by pSeries_smp_probe() */
.probe = pSeries_smp_probe, .probe = pSeries_smp_probe,
.kick_cpu = smp_pSeries_kick_cpu, .kick_cpu = smp_pSeries_kick_cpu,
.setup_cpu = smp_xics_setup_cpu, .setup_cpu = smp_setup_cpu,
.cpu_bootable = smp_generic_cpu_bootable, .cpu_bootable = smp_generic_cpu_bootable,
}; };
/* This is called very early */ /* This is called very early */
static void __init smp_init_pseries(void) void __init smp_init_pseries(void)
{ {
int i; int i;
pr_debug(" -> smp_init_pSeries()\n"); pr_debug(" -> smp_init_pSeries()\n");
smp_ops = &pseries_smp_ops;
alloc_bootmem_cpumask_var(&of_spin_mask); alloc_bootmem_cpumask_var(&of_spin_mask);
...@@ -258,17 +251,3 @@ static void __init smp_init_pseries(void) ...@@ -258,17 +251,3 @@ static void __init smp_init_pseries(void)
pr_debug(" <- smp_init_pSeries()\n"); pr_debug(" <- smp_init_pSeries()\n");
} }
void __init smp_init_pseries_mpic(void)
{
smp_ops = &pSeries_mpic_smp_ops;
smp_init_pseries();
}
void __init smp_init_pseries_xics(void)
{
smp_ops = &pSeries_xics_smp_ops;
smp_init_pseries();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment