| From 2a3e6fb4e0e65a79289c91eed676cc7ea5c2f8f2 Mon Sep 17 00:00:00 2001 |
| From: Magnus Damm <damm@opensource.se> |
| Date: Wed, 20 Nov 2013 09:23:17 +0900 |
| Subject: gpio: rcar: Enable mask on suspend |
| |
| 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 Lager board with GPIO-keys and Suspend-to-RAM. |
| |
| 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> |
| (cherry picked from commit 403961120667bed7161777d33483596edd0b05f2) |
| (Queued by Linus Walleij for v3.14 but not yet in Linus's tree) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/gpio/gpio-rcar.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c |
| index 496c58ffac35..9ed792121dd0 100644 |
| --- a/drivers/gpio/gpio-rcar.c |
| +++ b/drivers/gpio/gpio-rcar.c |
| @@ -411,7 +411,8 @@ static int gpio_rcar_probe(struct platform_device *pdev) |
| irq_chip->irq_mask = gpio_rcar_irq_disable; |
| irq_chip->irq_unmask = gpio_rcar_irq_enable; |
| irq_chip->irq_set_type = gpio_rcar_irq_set_type; |
| - irq_chip->flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_SET_TYPE_MASKED; |
| + irq_chip->flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_SET_TYPE_MASKED |
| + | IRQCHIP_MASK_ON_SUSPEND; |
| |
| p->irq_domain = irq_domain_add_simple(pdev->dev.of_node, |
| p->config.number_of_pins, |
| -- |
| 1.8.5.rc3 |
| |