Re: [PATCH v2] gpio: pcf857x: handle only enabled irqs

From: Geert Uytterhoeven
Date: Tue Jun 16 2015 - 05:06:53 EST


On Tue, Jun 16, 2015 at 10:58 AM, Linus Walleij
<linus.walleij@xxxxxxxxxx> wrote:
> <grygorii.strashko@xxxxxx> wrote:
>
>> Now pcf857x_irq() IRQ's dispatcher will try to run nested
>> IRQ handlers for each GPIO pin which state has changed.
>> Such IRQs are, actually, spurious and nested IRQ handlers
>> have to be called only for IRQs wich were enabled by users.
>> This is not critical issue - just /proc/interrupts
>> will display counters for unused IRQS:
>> 399: 4 0 pcf857x 0 Edge
>> 428: 1 0 pcf857x 13 Edge
>> 430: 1 0 pcf857x 15 Edge
>>
>> Hence, fix it by adding irq_enabled field in struct pcf857x to track
>> enabled GPIO IRQs and corresponding callbacks in pcf857x_irq_chip.
>>
>> Similar functionality was presented in pcf857x driver, commit
>> 21fd3cd1874a ('gpio: pcf857x: call the gpio user handler iff...')
>>
>> and then it was removed by commit
>> a39294bdf4b0 ('gpio: pcf857x: Switch to use gpiolib irqchip...')
>>
>> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>>
>> Fixes: a39294bdf4b0 ('gpio: pcf857x: Switch to use gpiolib irqchip helpers')
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
>> ---
>>
>> No functional changes.
>> It's just rebased on top of "devel" branch
>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
>
> Patch applied since no comments arrived.

Sorry for the late reply, still recovering from travel backlog.

I gave it a quick try on sh73a0/kzm9g. No visible impact, gpio keys and
wake-up from s2ram still work.

Note that this board didn't seem to be affected by the issue that was fixed by
21fd3cd1874a ('gpio: pcf857x: call the gpio user handler iff...').

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/