Skip to content

Commit d6c49a7

Browse files
author
Haavard Skinnemoen
committed
[AVR32] extint: Set initial irq type to low level
David Brownell pointed out a mismatch in the avr32 extint code: > I noticed a small glitch that's not fixed by this patch: the > initial type is falling edge, but IRQ_TYPE_NONE is mapped to > IRQ_TYPE_LEVEL_LOW. Potentially surprising. Fix it by setting the initial type (and handler) to low level, matching the meaning of IRQ_TYPE_NONE. Signed-off-by: Haavard Skinnemoen <[email protected]>
1 parent e4f586f commit d6c49a7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

arch/avr32/mach-at32ap/extint.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,15 +226,15 @@ static int __init eic_probe(struct platform_device *pdev)
226226
pattern = eic_readl(eic, MODE);
227227
nr_irqs = fls(pattern);
228228

229-
/* Trigger on falling edge unless overridden by driver */
230-
eic_writel(eic, MODE, 0UL);
229+
/* Trigger on low level unless overridden by driver */
231230
eic_writel(eic, EDGE, 0UL);
231+
eic_writel(eic, LEVEL, 0UL);
232232

233233
eic->chip = &eic_chip;
234234

235235
for (i = 0; i < nr_irqs; i++) {
236236
set_irq_chip_and_handler(eic->first_irq + i, &eic_chip,
237-
handle_edge_irq);
237+
handle_level_irq);
238238
set_irq_chip_data(eic->first_irq + i, eic);
239239
}
240240

0 commit comments

Comments
 (0)