[PATCH v6 0/4] irqchip: move away from gic_arch_extn.irq_set_wake

Geert Uytterhoeven geert at linux-m68k.org
Wed Mar 18 08:30:31 PDT 2015

Hi Marc,

On Wed, Mar 11, 2015 at 4:45 PM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> This series is extracted from [4], which is trying to remove all
> traces of gic_arch_extn from the tree. As some maintainers are more
> responsive than others (understatement of the year...), I've decided
> to split it per sub-arch, and get it moving, at least partially.
> This small set of patches slightly modifies some of the least
> offending platforms, by providing a much limited hook into the GIC
> driver.

> Marc Zyngier (4):
>   irqchip: gic: add an entry point to set up irqchip flags
>   ARM: shmobile: remove use of gic_arch_extn.irq_set_wake
>   ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags
>   ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags

As I'm feeling the need to add gic_set_irqchip_flags(IRQCHIP_SKIP_SET_WAKE)
for more shmobile SoCs (which implies populating mach_desc.init_irq()
again, and also calling irqchip_init() explicitly), I'm wondering if it
wouldn't be better to just initialize "gic_chip.flags = IRQCHIP_SKIP_SET_WAKE"
Currently the GIC driver doesn't have to do anything special to support
wake-up, but support for that may be added one day.

Every driver that wants to implements wake-up properly should call
irq_set_irq_wake() or {en,dis}able_irq_wake() to inform the upstream interrupt
controller. However, with GIC, that gives (except on sh73a0, r8a7779,
ux500, and zynq) annoying warning messages during resume:

    WARNING: CPU: 1 PID: 1341 at kernel/irq/manage.c:540
    Unbalanced IRQ 26 wake disable

I guess I could just leave out the call to irq_set_irq_wake() in my GPIO driver,
as it works fine without, but that doesn't look correct to me.

What do you think?


See also "[PATCH resend 2/2] [RFC] genirq: Set IRQCHIP_SKIP_SET_WAKE for
no_irq_chip and dummy_irq_chip" (https://lkml.org/lkml/2015/1/12/506).



Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

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

More information about the linux-arm-kernel mailing list