diff options
Diffstat (limited to 'drivers/irqchip/irq-versatile-fpga.c')
-rw-r--r-- | drivers/irqchip/irq-versatile-fpga.c | 8 |
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 | ||
68 | static void fpga_irq_handle(unsigned int __irq, struct irq_desc *desc) | 68 | static 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); |