lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 758/917] gpio: realtek-otto: fix GPIO line IRQ offset
    Date
    From: Sander Vanheule <sander@svanheule.net>

    [ Upstream commit 585a07079909ba9061ddd88214c36653e1aef71a ]

    The irqchip uses one domain for all GPIO lines, so the 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>
    Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpio/gpio-realtek-otto.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/gpio/gpio-realtek-otto.c b/drivers/gpio/gpio-realtek-otto.c
    index eeeb39bc171dc..bd75401b549d1 100644
    --- a/drivers/gpio/gpio-realtek-otto.c
    +++ b/drivers/gpio/gpio-realtek-otto.c
    @@ -205,7 +205,7 @@ static void realtek_gpio_irq_handler(struct irq_desc *desc)
    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)
    - generic_handle_domain_irq(gc->irq.domain, offset);
    + generic_handle_domain_irq(gc->irq.domain, offset + lines_done);
    }

    chained_irq_exit(irq_chip, desc);
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 01:02    [W:2.561 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site