From: Linus Walleij Date: Sun, 18 Mar 2018 16:48:59 +0000 (+0100) Subject: Merge tag 'v4.16-rc5' into devel X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=95260c17b27e4bdacf85022e629fb701b42cc190;p=linux.git Merge tag 'v4.16-rc5' into devel Linux 4.16-rc5 merged into the GPIO devel branch to resolve a nasty conflict between fixes and devel in the RCAR driver. Signed-off-by: Linus Walleij --- 95260c17b27e4bdacf85022e629fb701b42cc190 diff --cc drivers/gpio/gpio-rcar.c index e5b0dbe43c018,ebaea8b1594b7..350390c0b2909 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c @@@ -47,11 -36,9 +46,10 @@@ struct gpio_rcar_priv struct platform_device *pdev; struct gpio_chip gpio_chip; struct irq_chip irq_chip; - struct clk *clk; unsigned int irq_parent; + atomic_t wakeup_path; bool has_both_edge_trigger; - bool needs_clk; + struct gpio_rcar_bank_info bank_info; }; #define IOINTSEL 0x00 /* General IO/Interrupt Switching Register */ @@@ -547,15 -516,9 +528,18 @@@ static int gpio_rcar_suspend(struct dev { struct gpio_rcar_priv *p = dev_get_drvdata(dev); + p->bank_info.iointsel = gpio_rcar_read(p, IOINTSEL); + p->bank_info.inoutsel = gpio_rcar_read(p, INOUTSEL); + p->bank_info.outdt = gpio_rcar_read(p, OUTDT); + p->bank_info.intmsk = gpio_rcar_read(p, INTMSK); + p->bank_info.posneg = gpio_rcar_read(p, POSNEG); + p->bank_info.edglevel = gpio_rcar_read(p, EDGLEVEL); + if (p->has_both_edge_trigger) + p->bank_info.bothedge = gpio_rcar_read(p, BOTHEDGE); + + if (atomic_read(&p->wakeup_path)) + device_set_wakeup_path(dev); + return 0; }