It's now all handled in generic arch code.

Signed-off-by: Qais Yousef <[email protected]>
---
 drivers/irqchip/irq-mips-gic.c   | 79 ----------------------------------------
 include/linux/irqchip/mips-gic.h |  3 --
 2 files changed, 82 deletions(-)

diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c
index 764470375cd0..8a56965d5980 100644
--- a/drivers/irqchip/irq-mips-gic.c
+++ b/drivers/irqchip/irq-mips-gic.c
@@ -585,83 +585,6 @@ static void gic_irq_dispatch(struct irq_desc *desc)
        gic_handle_shared_int(true);
 }
 
-#ifdef CONFIG_MIPS_GIC_IPI
-static int gic_resched_int_base;
-static int gic_call_int_base;
-
-unsigned int plat_ipi_resched_int_xlate(unsigned int cpu)
-{
-       return gic_resched_int_base + cpu;
-}
-
-unsigned int plat_ipi_call_int_xlate(unsigned int cpu)
-{
-       return gic_call_int_base + cpu;
-}
-
-static irqreturn_t ipi_resched_interrupt(int irq, void *dev_id)
-{
-       scheduler_ipi();
-
-       return IRQ_HANDLED;
-}
-
-static irqreturn_t ipi_call_interrupt(int irq, void *dev_id)
-{
-       generic_smp_call_function_interrupt();
-
-       return IRQ_HANDLED;
-}
-
-static struct irqaction irq_resched = {
-       .handler        = ipi_resched_interrupt,
-       .flags          = IRQF_PERCPU,
-       .name           = "IPI resched"
-};
-
-static struct irqaction irq_call = {
-       .handler        = ipi_call_interrupt,
-       .flags          = IRQF_PERCPU,
-       .name           = "IPI call"
-};
-
-static __init void gic_ipi_init_one(unsigned int intr, int cpu,
-                                   struct irqaction *action)
-{
-       int virq = irq_create_mapping(gic_irq_domain,
-                                     GIC_SHARED_TO_HWIRQ(intr));
-       int i;
-
-       gic_map_to_vpe(intr, mips_cm_vp_id(cpu));
-       for (i = 0; i < NR_CPUS; i++)
-               clear_bit(intr, pcpu_masks[i].pcpu_mask);
-       set_bit(intr, pcpu_masks[cpu].pcpu_mask);
-
-       irq_set_irq_type(virq, IRQ_TYPE_EDGE_RISING);
-
-       irq_set_handler(virq, handle_percpu_irq);
-       setup_irq(virq, action);
-}
-
-static __init void gic_ipi_init(void)
-{
-       int i;
-
-       /* Use last 2 * NR_CPUS interrupts as IPIs */
-       gic_resched_int_base = gic_shared_intrs - nr_cpu_ids;
-       gic_call_int_base = gic_resched_int_base - nr_cpu_ids;
-
-       for (i = 0; i < nr_cpu_ids; i++) {
-               gic_ipi_init_one(gic_call_int_base + i, i, &irq_call);
-               gic_ipi_init_one(gic_resched_int_base + i, i, &irq_resched);
-       }
-}
-#else
-static inline void gic_ipi_init(void)
-{
-}
-#endif
-
 static void __init gic_basic_init(void)
 {
        unsigned int i;
@@ -979,8 +902,6 @@ static void __init __gic_init(unsigned long gic_base_addr,
        bitmap_set(ipi_resrv, gic_shared_intrs - 2 * NR_CPUS, 2 * NR_CPUS);
 
        gic_basic_init();
-
-       gic_ipi_init();
 }
 
 void __init gic_init(unsigned long gic_base_addr,
diff --git a/include/linux/irqchip/mips-gic.h b/include/linux/irqchip/mips-gic.h
index 4e6861605050..321278767506 100644
--- a/include/linux/irqchip/mips-gic.h
+++ b/include/linux/irqchip/mips-gic.h
@@ -258,9 +258,6 @@ extern void gic_write_compare(cycle_t cnt);
 extern void gic_write_cpu_compare(cycle_t cnt, int cpu);
 extern void gic_start_count(void);
 extern void gic_stop_count(void);
-extern void gic_send_ipi(unsigned int intr);
-extern unsigned int plat_ipi_call_int_xlate(unsigned int);
-extern unsigned int plat_ipi_resched_int_xlate(unsigned int);
 extern int gic_get_c0_compare_int(void);
 extern int gic_get_c0_perfcount_int(void);
 extern int gic_get_c0_fdc_int(void);
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to