Skip to content

Commit 45977fe

Browse files
Boris BrezillonJason Cooper
authored andcommitted
irqchip: atmel-aic: Fix irqdomain initialization
First of all IRQCHIP_SKIP_SET_WAKE is not a valid irq_gc_flags and thus should not be passed as the last argument of irq_alloc_domain_generic_chips. Then pass the correct handler (handle_fasteoi_irq) to irq_alloc_domain_generic_chips instead of manually re-setting it in the initialization loop. And eventually initialize default irq flags to the pseudo standard: IRQ_REQUEST | IRQ_PROBE | IRQ_AUTOEN. Signed-off-by: Boris Brezillon <[email protected]> Tested-by: Kevin Hilman <[email protected]> Fixes: b1479eb ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers") Cc: <[email protected]> # v3.17+ Link: https://lkml.kernel.org/r/1415712816-9202-1-git-send-email-boris.brezillon@free-electrons.com Signed-off-by: Jason Cooper <[email protected]>
1 parent 758e836 commit 45977fe

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/irqchip/irq-atmel-aic-common.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,9 @@ struct irq_domain *__init aic_common_of_init(struct device_node *node,
217217
}
218218

219219
ret = irq_alloc_domain_generic_chips(domain, 32, 1, name,
220-
handle_level_irq, 0, 0,
221-
IRQCHIP_SKIP_SET_WAKE);
220+
handle_fasteoi_irq,
221+
IRQ_NOREQUEST | IRQ_NOPROBE |
222+
IRQ_NOAUTOEN, 0, 0);
222223
if (ret)
223224
goto err_domain_remove;
224225

@@ -230,7 +231,6 @@ struct irq_domain *__init aic_common_of_init(struct device_node *node,
230231
gc->unused = 0;
231232
gc->wake_enabled = ~0;
232233
gc->chip_types[0].type = IRQ_TYPE_SENSE_MASK;
233-
gc->chip_types[0].handler = handle_fasteoi_irq;
234234
gc->chip_types[0].chip.irq_eoi = irq_gc_eoi;
235235
gc->chip_types[0].chip.irq_set_wake = irq_gc_set_wake;
236236
gc->chip_types[0].chip.irq_shutdown = aic_common_shutdown;

0 commit comments

Comments
 (0)