From mboxrd@z Thu Jan 1 00:00:00 1970 From: Magnus Damm Date: Wed, 13 Nov 2013 22:59:36 +0000 Subject: [PATCH 01/03] gpio: rcar: Use lazy disable and mask on suspend Message-Id: <20131113225936.21449.29529.sendpatchset@w520> List-Id: References: <20131113225927.21449.78044.sendpatchset@w520> In-Reply-To: <20131113225927.21449.78044.sendpatchset@w520> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-kernel@vger.kernel.org Cc: linux-sh@vger.kernel.org, linus.walleij@linaro.org, grant.likely@secretlab.ca, horms@verge.net.au, laurent.pinchart@ideasonboard.com, Magnus Damm From: Magnus Damm Set the ->irq_enable() and ->irq_disable() methods to NULL to enable lazy disable of interrupts. Also 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 --- drivers/gpio/gpio-rcar.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- 0001/drivers/gpio/gpio-rcar.c +++ work/drivers/gpio/gpio-rcar.c 2013-11-13 19:26:26.000000000 +0900 @@ -368,10 +368,9 @@ static int gpio_rcar_probe(struct platfo irq_chip->name = name; irq_chip->irq_mask = gpio_rcar_irq_disable; irq_chip->irq_unmask = gpio_rcar_irq_enable; - irq_chip->irq_enable = gpio_rcar_irq_enable; - irq_chip->irq_disable = gpio_rcar_irq_disable; 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_MASK_ON_SUSPEND; p->irq_domain = irq_domain_add_simple(pdev->dev.of_node, p->config.number_of_pins,