aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/mti-malta
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2012-09-28 10:29:55 -0400
committerRalf Baechle <ralf@linux-mips.org>2012-09-28 10:29:55 -0400
commitcb418b34caddc970c1513e515aaa535246a4bba3 (patch)
treeb89720b74d6a85a9407f03bb064248c7235b9dea /arch/mips/mti-malta
parent77a0d763c461da81c2a3fc9a7e58162a40854a1a (diff)
parentff401e52100dcdc85e572d1ad376d3307b3fe28e (diff)
Merge branch 'ralf-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next
Diffstat (limited to 'arch/mips/mti-malta')
-rw-r--r--arch/mips/mti-malta/malta-int.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c
index fea823f18479..647b86383184 100644
--- a/arch/mips/mti-malta/malta-int.c
+++ b/arch/mips/mti-malta/malta-int.c
@@ -750,3 +750,37 @@ int malta_be_handler(struct pt_regs *regs, int is_fixup)
750 750
751 return retval; 751 return retval;
752} 752}
753
754void gic_enable_interrupt(int irq_vec)
755{
756 GIC_SET_INTR_MASK(irq_vec);
757}
758
759void gic_disable_interrupt(int irq_vec)
760{
761 GIC_CLR_INTR_MASK(irq_vec);
762}
763
764void gic_irq_ack(struct irq_data *d)
765{
766 int irq = (d->irq - gic_irq_base);
767
768 GIC_CLR_INTR_MASK(irq);
769
770 if (gic_irq_flags[irq] & GIC_TRIG_EDGE)
771 GICWRITE(GIC_REG(SHARED, GIC_SH_WEDGE), irq);
772}
773
774void gic_finish_irq(struct irq_data *d)
775{
776 /* Enable interrupts. */
777 GIC_SET_INTR_MASK(d->irq - gic_irq_base);
778}
779
780void __init gic_platform_init(int irqs, struct irq_chip *irq_controller)
781{
782 int i;
783
784 for (i = gic_irq_base; i < (gic_irq_base + irqs); i++)
785 irq_set_chip(i, irq_controller);
786}