gpio: em: Enable mask on suspend
authorMagnus Damm <damm@opensource.se>
Wed, 20 Nov 2013 00:23:44 +0000 (09:23 +0900)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 25 Nov 2013 08:03:40 +0000 (09:03 +0100)
Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Tested on the KZM9D board with GPIO-keys.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-em.c

index 225eda662c6c602e7a6b99fc35ed820883975f40..be7e3b92f986ce4ece56207feb18b7dfd6862d98 100644 (file)
@@ -338,7 +338,7 @@ static int em_gio_probe(struct platform_device *pdev)
        irq_chip->irq_mask = em_gio_irq_disable;
        irq_chip->irq_unmask = em_gio_irq_enable;
        irq_chip->irq_set_type = em_gio_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,
                                              pdata->number_of_pins,