Skip to content

Commit fa8397e

Browse files
jkrzyszttmlind
authored andcommitted
ARM: OMAP1: ams-delta-fiq: Fix missing irq_ack
Non-serio path of Amstrad Delta FIQ deferred handler depended on irq_ack() method provided by OMAP GPIO driver. That method has been removed by commit 693de83 ("gpio: omap: remove irq_ack method"). Remove useless code from the deferred handler and reimplement the missing operation inside the base FIQ handler. Should another dependency - irq_unmask() - be ever removed from the OMAP GPIO driver, WARN once if missing. Signed-off-by: Janusz Krzysztofik <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
1 parent 07f9a8b commit fa8397e

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

arch/arm/mach-omap1/ams-delta-fiq-handler.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,15 @@ restart:
129129
orr r11, r11, r13 @ mask all requested interrupts
130130
str r11, [r12, #OMAP1510_GPIO_INT_MASK]
131131

132+
str r13, [r12, #OMAP1510_GPIO_INT_STATUS] @ ack all requested interrupts
133+
132134
ands r10, r13, #KEYBRD_CLK_MASK @ extract keyboard status - set?
133135
beq hksw @ no - try next source
134136

135137

136138
@@@@@@@@@@@@@@@@@@@@@@
137139
@ Keyboard clock FIQ mode interrupt handler
138140
@ r10 now contains KEYBRD_CLK_MASK, use it
139-
str r10, [r12, #OMAP1510_GPIO_INT_STATUS] @ ack the interrupt
140141
bic r11, r11, r10 @ unmask it
141142
str r11, [r12, #OMAP1510_GPIO_INT_MASK]
142143

arch/arm/mach-omap1/ams-delta-fiq.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,7 @@ static irqreturn_t deferred_fiq(int irq, void *dev_id)
7272
* interrupts default to since commit 80ac93c27441
7373
* requires interrupt already acked and unmasked.
7474
*/
75-
if (irq_chip->irq_ack)
76-
irq_chip->irq_ack(d);
77-
if (irq_chip->irq_unmask)
75+
if (!WARN_ON_ONCE(!irq_chip->irq_unmask))
7876
irq_chip->irq_unmask(d);
7977
}
8078
for (; irq_counter[gpio] < fiq_count; irq_counter[gpio]++)

0 commit comments

Comments
 (0)