linux/drivers/gpio
Geert Uytterhoeven 9ac79ba9c7 gpio: rcar: Use wakeup_path i.s.o. explicit clock handling
Since commit ab82fa7da4 ("gpio: rcar: Prevent module clock disable
when wake-up is enabled"), when a GPIO is used for wakeup, the GPIO
block's module clock (if exists) is manually kept running during system
suspend, to make sure the device stays active.

However, this explicit clock handling is merely a workaround for a
failure to properly communicate wakeup information to the device core.

Instead, set the device's power.wakeup_path field, to indicate this
device is part of the wakeup path.  Depending on the PM Domain's
active_wakeup configuration, the genpd core code will keep the device
enabled (and the clock running) during system suspend when needed.
This allows for the removal of all explicit clock handling code from the
driver.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-05 09:01:21 +01:00
..
devres.c gpio: Export devm_gpiod_get_from_of_node() for consumers 2018-01-12 11:05:24 +01:00
gpio-74x164.c The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
gpio-74xx-mmio.c
gpio-104-dio-48e.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-104-idi-48.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-104-idio-16.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-adnp.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-adp5520.c gpio: adp5520: Include proper header 2018-01-13 22:12:07 +01:00
gpio-adp5588.c gpio: adp5588: Include proper header 2018-01-13 22:14:56 +01:00
gpio-altera-a10sr.c gpio: altera-a10sr: constify gpio_chip structure 2017-08-14 15:01:12 +02:00
gpio-altera.c gpio: altera: Include GPIO driver header 2018-01-13 22:18:34 +01:00
gpio-amd8111.c gpio: amd8111: Include proper header 2018-01-13 22:22:49 +01:00
gpio-amdpt.c
gpio-arizona.c gpio: arizona: Include proper header 2018-01-13 22:47:48 +01:00
gpio-aspeed.c gpio: fix aspeed_gpio_banks array size check 2017-12-28 13:53:06 +01:00
gpio-ath79.c gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE 2017-12-02 22:42:22 +01:00
gpio-bcm-kona.c The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
gpio-bd9571mwv.c gpio: Add ROHM BD9571MWV-M PMIC GPIO driver 2017-04-28 09:47:46 +02:00
gpio-brcmstb.c The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
gpio-bt8xx.c gpio: bt8xx: Include proper header 2018-01-13 22:56:52 +01:00
gpio-clps711x.c
gpio-crystalcove.c gpio: crystalcove: Include proper header 2018-01-14 01:48:48 +01:00
gpio-cs5535.c gpio: cs5535: Include proper header 2018-01-14 01:56:24 +01:00
gpio-da9052.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-da9055.c gpio: da905x: Include proper header 2018-01-14 02:00:10 +01:00
gpio-davinci.c The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
gpio-dln2.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-dwapb.c gpio: dwapb: fix bgpio usage 2017-10-25 11:25:10 +02:00
gpio-em.c pinctrl/gpio: Unify namespace for cross-calls 2017-09-22 11:02:10 +02:00
gpio-ep93xx.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-etraxfs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gpio-exar.c gpio: exar: Use correct property prefix and document bindings 2017-08-01 13:43:55 +02:00
gpio-f7188x.c gpio: f7188x: Add a missing break 2017-04-28 10:09:16 +02:00
gpio-ftgpio010.c gpio: ftgpio010: Fix platform_get_irq's error checking 2017-12-02 22:42:35 +01:00
gpio-ge.c gpio: Convert to using %pOF instead of full_name 2017-08-14 15:01:12 +02:00
gpio-gpio-mm.c Annotate hardware config module parameters in drivers/gpio/ 2017-04-20 12:02:32 +01:00
gpio-grgpio.c gpio: grgpio: Do not use gc->pin2mask() 2017-10-25 11:25:38 +02:00
gpio-htc-egpio.c
gpio-ich.c
gpio-ingenic.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-intel-mid.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-iop.c gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-12-02 22:42:21 +01:00
gpio-it87.c gpio: it87: fix mojibake in module metadata 2017-12-02 22:42:32 +01:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-ks8695.c
gpio-loongson1.c gpio: loongson1: fix bgpio usage 2017-10-25 11:25:38 +02:00
gpio-loongson.c
gpio-lp873x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-lp3943.c
gpio-lp87565.c gpio: lp87565: Set proper output level and direction for direction_output 2017-07-31 15:26:57 +02:00
gpio-lpc18xx.c
gpio-lpc32xx.c
gpio-lynxpoint.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-max730x.c
gpio-max732x.c gpio: max732x: Remove duplicate NULL check 2017-11-29 13:25:23 +01:00
gpio-max3191x.c gpio: Add driver for Maxim MAX3191x industrial serializer 2017-10-19 22:40:07 +02:00
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c gpio: max77620: Make regmap_irq_chip const 2017-08-14 16:06:24 +02:00
gpio-mb86s7x.c gpio: mb86s70: Revert "Return error if requesting an already assigned gpio" 2017-10-31 13:13:34 +01:00
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-menz127.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-merrifield.c gpio: merrifield: Add support of ACPI enabled platforms 2018-01-10 00:43:42 +01:00
gpio-ml-ioh.c gpio: ml-ioh: use devres for irq generic chip 2017-08-21 00:06:35 +02:00
gpio-mm-lantiq.c
gpio-mmio.c gpio: mmio: Also read bits that are zero 2018-01-16 23:42:36 +01:00
gpio-mockup.c gpio: mockup: fix a return value check 2017-12-08 15:34:15 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: Do not reverse bits using bgpio 2017-10-25 11:25:40 +02:00
gpio-mpc5200.c
gpio-msic.c gpio: msic: fix error return code in platform_msic_gpio_probe() 2017-08-14 15:03:38 +02:00
gpio-mvebu.c gpio: mvebu: Fix cause computation in irq handler 2017-08-14 15:00:43 +02:00
gpio-mxc.c gpio: mxc: use devres for irq generic chip 2017-08-21 00:09:33 +02:00
gpio-mxs.c gpio: mxs: use devres for irq generic chip 2017-08-21 00:10:00 +02:00
gpio-octeon.c
gpio-omap.c gpio: omap: Give unique labels to each GPIO bank/chip 2018-01-03 08:46:08 +01:00
gpio-palmas.c
gpio-pca953x.c gpio: pca953x: fix vendor prefix for PCA9654 2017-12-02 22:41:43 +01:00
gpio-pcf857x.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-pch.c gpio: pch: use devres for irq generic chip 2017-08-21 00:08:52 +02:00
gpio-pci-idio-16.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-pcie-idio-24.c gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family 2018-01-10 14:39:28 +01:00
gpio-pisosr.c
gpio-pl061.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-pxa.c gpio: pxa: Use library functions 2017-10-07 00:01:08 +02:00
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Use wakeup_path i.s.o. explicit clock handling 2018-03-05 09:01:21 +01:00
gpio-rdc321x.c
gpio-reg.c gpio: gpio-reg: fix build 2017-12-22 15:24:31 +01:00
gpio-sa1100.c gpio: sa1100: implement get_direction method 2017-03-24 14:04:37 +01:00
gpio-sch311x.c
gpio-sch.c
gpio-sodaville.c gpio: sodaville: use resource management for irqs 2017-03-15 11:16:36 +01:00
gpio-spear-spics.c
gpio-sta2x11.c gpio: sta2x11: use devres for irq generic chip 2017-08-21 00:06:04 +02:00
gpio-stmpe.c gpio: stmpe: Delete an unnecessary variable initialisation in stmpe_gpio_probe() 2018-01-17 07:44:16 +01:00
gpio-stp-xway.c
gpio-syscon.c
gpio-tb10x.c gpio: tb10x: Handle return value of devm_kasprintf 2017-09-21 14:14:17 +02:00
gpio-tc3589x.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-tegra186.c gpio: tegra186: Remove tegra186_gpio_lock_class 2017-11-13 11:43:10 +01:00
gpio-tegra.c kernel/irq: Extend lockdep class for request mutex 2017-12-28 12:26:35 +01:00
gpio-thunderx.c gpio: thunderx: fix error return code in thunderx_gpio_probe() 2018-01-11 10:49:32 +01:00
gpio-timberdale.c
gpio-tpic2810.c
gpio-tps6586x.c
gpio-tps65086.c
gpio-tps65218.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tps65910.c
gpio-tps65912.c
gpio-tps68470.c gpio: Add support for TPS68470 GPIOs 2017-08-14 15:37:38 +02:00
gpio-ts4800.c
gpio-ts4900.c
gpio-ts5500.c
gpio-twl4030.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
gpio-twl6040.c gpio: twl6040: remove unneeded forward declaration 2017-08-23 10:20:16 +02:00
gpio-tz1090-pdc.c
gpio-tz1090.c pinctrl/gpio: Unify namespace for cross-calls 2017-09-22 11:02:10 +02:00
gpio-ucb1400.c
gpio-uniphier.c gpio: uniphier: fix mismatch between license text and MODULE_LICENSE 2017-11-30 15:37:42 +01:00
gpio-vf610.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wcove.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-winbond.c gpio: winbond: Add driver 2018-01-09 14:51:00 +01:00
gpio-wm831x.c gpio: wm831x: Add basic device tree support 2017-03-23 11:45:55 +00:00
gpio-wm8350.c
gpio-wm8994.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ws16c48.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-xgene-sb.c genirq/irqdomain: Rename early argument of irq_domain_activate_irq() 2017-12-29 21:13:04 +01:00
gpio-xgene.c gpio: xgene: mark PM functions as __maybe_unused 2017-03-06 14:35:22 +01:00
gpio-xilinx.c gpio: Convert to using %pOF instead of full_name 2017-08-14 15:01:12 +02:00
gpio-xlp.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-xra1403.c gpio: xra1403: Add EXAR XRA1403 SPI GPIO expander driver 2017-05-22 17:48:41 +02:00
gpio-xtensa.c
gpio-zevio.c gpio: zevio: make gpio_chip const 2017-08-23 09:21:54 +02:00
gpio-zx.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpio-zynq.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
gpiolib-acpi.c This is the bulk of pin control changes for the v4.16 kernel cycle: 2018-02-02 14:22:53 -08:00
gpiolib-devprop.c gpio: fix "gpio-line-names" property retrieval 2017-12-22 15:24:31 +01:00
gpiolib-legacy.c
gpiolib-of.c gpio: Handle deferred probing in of_find_gpio() properly 2018-02-27 09:48:07 +01:00
gpiolib-sysfs.c gpio: sysfs: avoid using kstrtol() in 'value' attribute write 2017-12-20 10:34:58 +01:00
gpiolib.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
gpiolib.h The is the bulk of GPIO changes for the v4.16 kernel cycle. 2018-01-31 12:25:27 -08:00
Kconfig gpio: winbond: fix ISA_BUS_API dependency 2018-01-11 10:17:32 +01:00
Makefile gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family 2018-01-10 14:39:28 +01:00