Geert Uytterhoeven
c610b0cbb2
gpio: rcar: Add Runtime PM handling for interrupts
...
commit b26a719bdb upstream.
The R-Car GPIO driver handles Runtime PM for requested GPIOs only.
When using a GPIO purely as an interrupt source, no Runtime PM handling
is done, and the GPIO module's clock may not be enabled.
To fix this:
- Add .irq_request_resources() and .irq_release_resources() callbacks
to handle Runtime PM when an interrupt is requested,
- Add irq_bus_lock() and sync_unlock() callbacks to handle Runtime PM
when e.g. disabling/enabling an interrupt, or configuring the
interrupt type.
Fixes: d5c3d84657 "net: phy: Avoid polling PHY with PHY_IGNORE_INTERRUPTS"
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
[fabrizio: cherry-pick to v4.4.y. Use container_of instead of
gpiochip_get_data.]
Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com >
Reviewed-by: Biju Das <biju.das@bp.renesas.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2018-05-26 08:49:00 +02:00
..
2015-07-06 10:39:24 +02:00
2015-10-28 10:30:17 +09:00
2015-11-17 14:39:17 +01:00
2015-10-27 11:01:19 +01:00
2014-09-02 10:44:01 +02:00
2014-10-20 16:20:31 +02:00
2015-07-28 09:45:39 +02:00
2017-12-16 10:33:51 +01:00
2015-01-19 09:48:45 +01:00
2015-10-26 14:45:26 +01:00
2015-10-02 04:19:34 -07:00
2018-02-03 17:04:26 +01:00
2016-06-24 10:18:19 -07:00
2015-09-16 15:47:51 +02:00
2014-08-29 14:31:43 +02:00
2014-10-20 16:20:31 +02:00
2015-06-16 11:00:06 +02:00
2014-12-14 16:10:09 -08:00
2015-04-08 09:54:21 +02:00
2015-04-08 09:54:21 +02:00
2015-09-16 15:47:51 +02:00
2015-05-13 10:02:12 +02:00
2015-09-16 15:47:51 +02:00
2015-07-28 09:45:39 +02:00
2015-09-16 15:47:51 +02:00
2015-10-02 04:19:31 -07:00
2015-06-16 11:00:06 +02:00
2015-01-29 10:33:15 +01:00
2015-12-17 15:47:38 +01:00
2015-08-17 10:56:24 +02:00
2015-04-08 09:54:27 +02:00
2018-02-25 11:03:42 +01:00
2018-02-03 17:04:25 +01:00
2015-10-02 04:19:35 -07:00
2014-10-20 16:20:31 +02:00
2015-05-12 13:49:13 +02:00
2014-10-02 16:07:00 +02:00
2015-04-08 09:53:42 +02:00
2014-10-20 16:20:31 +02:00
2015-10-16 22:13:43 +02:00
2014-10-20 16:20:31 +02:00
2015-09-16 15:47:51 +02:00
2015-10-02 15:06:41 -07:00
2015-08-26 13:34:55 +02:00
2015-04-08 09:54:10 +02:00
2015-10-28 10:30:17 +09:00
2015-03-02 15:35:41 +01:00
2014-07-22 16:39:26 +02:00
2015-10-28 10:30:17 +09:00
2015-10-28 10:30:17 +09:00
2014-07-22 16:39:26 +02:00
2015-01-20 11:18:51 +01:00
2015-10-16 22:13:43 +02:00
2016-10-28 03:01:25 -04:00
2015-01-20 11:18:28 +01:00
2015-09-16 15:47:51 +02:00
2015-10-16 22:13:43 +02:00
2015-10-15 00:21:12 +02:00
2015-09-18 08:11:42 -07:00
2014-10-20 16:20:31 +02:00
2015-11-30 13:50:21 +01:00
2015-11-17 14:40:24 +01:00
2016-08-20 18:09:17 +02:00
2015-07-16 10:44:57 +02:00
2015-07-14 12:12:20 +02:00
2015-10-16 22:17:14 +02:00
2015-09-16 15:47:51 +02:00
2014-10-20 16:20:31 +02:00
2018-05-26 08:49:00 +02:00
2014-07-22 16:39:26 +02:00
2016-10-07 15:23:42 +02:00
2014-09-23 17:51:39 +02:00
2014-07-22 16:39:26 +02:00
2015-04-10 11:35:45 +02:00
2015-10-13 19:01:23 +02:00
2014-12-14 16:10:09 -08:00
2015-07-28 09:45:39 +02:00
2015-01-20 11:03:22 +01:00
2015-06-02 11:22:02 +02:00
2015-10-02 04:19:32 -07:00
2015-11-17 14:39:22 +01:00
2015-10-16 22:13:43 +02:00
2015-08-27 14:06:33 +02:00
2015-11-17 15:18:51 +01:00
2015-09-16 15:47:51 +02:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2015-02-23 15:40:32 +01:00
2015-05-12 09:41:28 +02:00
2014-10-20 16:20:31 +02:00
2014-10-20 16:20:31 +02:00
2015-10-16 22:13:43 +02:00
2015-09-16 15:47:51 +02:00
2014-07-22 16:39:26 +02:00
2015-10-16 22:13:43 +02:00
2014-07-22 16:39:26 +02:00
2014-12-14 16:10:09 -08:00
2015-01-15 17:23:18 +01:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2014-07-22 16:39:26 +02:00
2015-06-02 14:52:00 +02:00
2018-02-25 11:03:50 +01:00
2015-07-16 13:28:33 +02:00
2015-10-22 14:36:41 +02:00
2014-10-20 16:20:31 +02:00
2015-01-20 11:18:56 +01:00
2015-10-16 22:15:51 +02:00
2015-10-02 04:19:33 -07:00
2015-11-04 18:10:13 -08:00
2016-07-27 09:47:29 -07:00
2015-09-24 10:48:51 -07:00
2015-10-05 13:07:47 +02:00
2018-04-13 19:50:14 +02:00
2015-11-04 18:10:13 -08:00
2016-09-07 08:32:43 +02:00
2015-10-27 11:01:19 +01:00