aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-versatile-fpga.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/irqchip/irq-versatile-fpga.c')
-rw-r--r--drivers/irqchip/irq-versatile-fpga.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c
index 16123f688768..1b1c63e8d249 100644
--- a/drivers/irqchip/irq-versatile-fpga.c
+++ b/drivers/irqchip/irq-versatile-fpga.c
@@ -65,19 +65,19 @@ static void fpga_irq_unmask(struct irq_data *d)
65 writel(mask, f->base + IRQ_ENABLE_SET); 65 writel(mask, f->base + IRQ_ENABLE_SET);
66} 66}
67 67
68static void fpga_irq_handle(unsigned int __irq, struct irq_desc *desc) 68static void fpga_irq_handle(struct irq_desc *desc)
69{ 69{
70 struct fpga_irq_data *f = irq_desc_get_handler_data(desc); 70 struct fpga_irq_data *f = irq_desc_get_handler_data(desc);
71 unsigned int irq = irq_desc_get_irq(desc);
72 u32 status = readl(f->base + IRQ_STATUS); 71 u32 status = readl(f->base + IRQ_STATUS);
73 72
74 if (status == 0) { 73 if (status == 0) {
75 do_bad_IRQ(irq, desc); 74 do_bad_IRQ(desc);
76 return; 75 return;
77 } 76 }
78 77
79 do { 78 do {
80 irq = ffs(status) - 1; 79 unsigned int irq = ffs(status) - 1;
80
81 status &= ~(1 << irq); 81 status &= ~(1 << irq);
82 generic_handle_irq(irq_find_mapping(f->domain, irq)); 82 generic_handle_irq(irq_find_mapping(f->domain, irq));
83 } while (status); 83 } while (status);