X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=arch%2Farm%2Fmach-omap1%2Ffpga.c;h=8e40208b10bbf6f0c61f0c451ac92a3d51a800ab;hb=5f56bbdf1e35d41b4b3d4c92bdb3e70c63877e4d;hp=aca2a120813ae9f95456749a36939d447019a292;hpb=9fe66dfd8846706ff11ed7990d06c92644973bd8;p=powerpc.git diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c index aca2a12081..8e40208b10 100644 --- a/arch/arm/mach-omap1/fpga.c +++ b/arch/arm/mach-omap1/fpga.c @@ -16,7 +16,6 @@ * published by the Free Software Foundation. */ -#include #include #include #include @@ -85,8 +84,7 @@ static void fpga_mask_ack_irq(unsigned int irq) fpga_ack_irq(irq); } -void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc, - struct pt_regs *regs) +void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc) { struct irqdesc *d; u32 stat; @@ -102,19 +100,21 @@ void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc, fpga_irq++, stat >>= 1) { if (stat & 1) { d = irq_desc + fpga_irq; - desc_handle_irq(fpga_irq, d, regs); + desc_handle_irq(fpga_irq, d); } } } -static struct irqchip omap_fpga_irq_ack = { +static struct irq_chip omap_fpga_irq_ack = { + .name = "FPGA-ack", .ack = fpga_mask_ack_irq, .mask = fpga_mask_irq, .unmask = fpga_unmask_irq, }; -static struct irqchip omap_fpga_irq = { +static struct irq_chip omap_fpga_irq = { + .name = "FPGA", .ack = fpga_ack_irq, .mask = fpga_mask_irq, .unmask = fpga_unmask_irq, @@ -134,7 +134,7 @@ static struct irqchip omap_fpga_irq = { * mask_ack routine for all of the FPGA interrupts has been changed from * fpga_mask_ack_irq() to fpga_ack_irq() so that the specific FPGA interrupt * being serviced is left unmasked. We can do this because the FPGA cascade - * interrupt is installed with the SA_INTERRUPT flag, which leaves all + * interrupt is installed with the IRQF_DISABLED flag, which leaves all * interrupts masked at the CPU while an FPGA interrupt handler executes. * * Limited testing indicates that this workaround appears to be effective