Geert Uytterhoeven
65194cb174
gpio: rcar: Fine-grained Runtime PM support
...
Currently gpio modules are runtime-resumed at probe time. This means the
gpio module will be active all the time (except during system suspend,
if not configured as a wake-up source).
While an R-Car Gen2 gpio module retains pins configured for output at
the requested level while put in standby mode, gpio registercannot be
accessed while suspended. Unfortunately pm_runtime_get_sync() cannot be
called from all contexts where gpio register access is needed. Hence
move the Runtime PM handling from probe/remove time to gpio request/free
time, which is probably the best we can do.
On r8a7791/koelsch, gpio modules 0, 1, 3, and 4 are now suspended during
normal use (gpio2 is used for LEDs and regulators, gpio5 for keys, gpio6
for SD-Card CD & WP, gpio7 for keys and regulators).
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-16 10:42:44 +02:00
..
2015-03-17 17:45:59 +01:00
2014-10-21 10:48:04 +02:00
2014-10-20 16:20:31 +02:00
2015-04-08 16:54:01 +02:00
2015-07-16 00:11:03 +02:00
2015-01-19 09:48:45 +01:00
2015-04-18 08:22:10 -04:00
2015-07-01 15:19:35 -07:00
2015-06-02 15:36:22 +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
2014-12-14 16:10:09 -08:00
2015-05-13 10:02:12 +02:00
2015-06-25 11:56:48 +02:00
2015-07-16 10:31:11 +02:00
2014-10-20 16:20:31 +02:00
2015-06-10 09:11:10 +02:00
2015-06-16 11:00:06 +02:00
2015-01-29 10:33:15 +01:00
2015-07-16 00:11:02 +02:00
2015-05-06 15:33:48 +02:00
2015-04-08 09:54:27 +02:00
2014-10-20 16:20:31 +02:00
2015-06-16 11:00:06 +02: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-05-05 17:50:07 +02:00
2014-10-20 16:20:31 +02:00
2015-05-19 16:52:30 +02:00
2015-05-06 15:08:54 +02:00
2015-04-08 09:54:10 +02:00
2015-03-02 15:35:41 +01:00
2015-04-08 09:54:21 +02:00
2015-04-08 16:54:01 +02:00
2015-01-20 11:18:51 +01:00
2015-05-11 11:51:29 +02:00
2015-05-06 15:33:48 +02:00
2015-01-20 11:18:28 +01:00
2015-06-25 11:56:50 +02:00
2014-10-20 16:20:31 +02:00
2015-04-08 16:35:07 +02:00
2015-06-23 13:34:02 -07:00
2015-06-23 13:34:02 -07:00
2014-10-20 16:20:31 +02:00
2015-06-01 16:53:54 +02:00
2015-06-01 16:53:55 +02:00
2015-06-16 10:57:58 +02:00
2014-10-02 16:07:00 +02:00
2014-12-03 14:44:23 +01:00
2015-03-09 14:41:12 +01:00
2014-10-20 16:20:31 +02:00
2015-07-16 10:42:44 +02:00
2015-05-06 15:33:48 +02:00
2014-09-23 17:51:39 +02:00
2015-04-10 11:35:45 +02:00
2015-05-06 15:33:48 +02:00
2014-12-14 16:10:09 -08:00
2014-10-20 16:20:31 +02:00
2015-01-20 11:03:22 +01:00
2015-06-02 11:22:02 +02:00
2015-01-22 09:45:24 +01:00
2015-03-27 11:17:08 +01:00
2015-06-02 11:25:42 +02:00
2015-03-26 14:20:17 +00:00
2015-06-23 13:34:02 -07:00
2014-10-20 16:20:31 +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-01-29 10:34:13 +01:00
2015-01-15 17:23:21 +01:00
2015-03-06 11:17:36 +01:00
2014-12-14 16:10:09 -08:00
2015-01-15 17:23:18 +01:00
2015-06-02 14:52:00 +02:00
2014-10-20 16:20:31 +02:00
2015-05-12 09:56:26 +02:00
2015-05-12 13:23:24 +02:00
2014-10-20 16:20:31 +02:00
2015-01-20 11:18:56 +01:00
2015-07-16 10:14:45 +02:00
2015-07-16 00:11:02 +02:00
2015-06-11 10:17:32 +02:00
2014-12-02 15:46:36 +01:00
2015-07-16 00:11:03 +02:00
2015-05-12 10:47:57 +02:00
2015-07-16 00:11:02 +02:00
2015-05-12 10:47:57 +02:00
2015-07-16 10:14:45 +02:00
2015-07-16 10:14:45 +02:00