irqchip: renesas-intc-irqpin: Add suspend-to-RAM wake up support
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 20 Aug 2014 14:49:32 +0000 (16:49 +0200)
committerJason Cooper <jason@lakedaemon.net>
Thu, 21 Aug 2014 12:07:44 +0000 (12:07 +0000)
Set the ->irq_enable() and ->irq_disable() methods to NULL to enable
lazy disable of interrupts, and set IRQCHIP_MASK_ON_SUSPEND to tell the
core that only IRQs marked as wake-ups need to stay enabled during
suspend-to-RAM.

This makes wake-up by gpio-keys from suspend-to-RAM work on
r8a7740/Armadillo.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lkml.kernel.org/r/1408546172-22484-1-git-send-email-geert+renesas@glider.be
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-renesas-intc-irqpin.c

index 3ee78f02e5d7d940d531aa6ab03c8dc681c9cb3c..a9efceb0c4a0d16e62a5df80e5290fd6be76aa7c 100644 (file)
@@ -454,10 +454,8 @@ static int intc_irqpin_probe(struct platform_device *pdev)
        irq_chip->name = name;
        irq_chip->irq_mask = disable_fn;
        irq_chip->irq_unmask = enable_fn;
-       irq_chip->irq_enable = enable_fn;
-       irq_chip->irq_disable = disable_fn;
        irq_chip->irq_set_type = intc_irqpin_irq_set_type;
-       irq_chip->flags = IRQCHIP_SKIP_SET_WAKE;
+       irq_chip->flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
 
        p->irq_domain = irq_domain_add_simple(pdev->dev.of_node,
                                              p->number_of_irqs,