Skip to content

Commit

Permalink
realtek: backport GPIO IRQ index fix
Browse files Browse the repository at this point in the history
Backport the patch queued upstream for 5.16. The patch differs slightly
from the upstream patch due to an upstream change that added a
convenience function.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
  • Loading branch information
svanheule authored and chunkeey committed Oct 31, 2021
1 parent b69dfb0 commit c735d2e
Showing 1 changed file with 21 additions and 0 deletions.
@@ -0,0 +1,21 @@
gpio: realtek-otto: fix GPIO line IRQ offset

The irqchip uses one domain for all GPIO lines, so th line offset should be
determined w.r.t. the first line of the first port, not the first line of the
triggered port.

Fixes: 0d82fb1127fb ("gpio: Add Realtek Otto GPIO support")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Link: https://lore.kernel.org/linux-gpio/20211028085243.34360-1-sander@svanheule.net/

--- a/drivers/gpio/gpio-realtek-otto.c
+++ b/drivers/gpio/gpio-realtek-otto.c
@@ -206,7 +206,7 @@ static void realtek_gpio_irq_handler(str
status = realtek_gpio_read_isr(ctrl, lines_done / 8);
port_pin_count = min(gc->ngpio - lines_done, 8U);
for_each_set_bit(offset, &status, port_pin_count) {
- irq = irq_find_mapping(gc->irq.domain, offset);
+ irq = irq_find_mapping(gc->irq.domain, offset + lines_done);
generic_handle_irq(irq);
}
}

0 comments on commit c735d2e

Please sign in to comment.