linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] gpio: rcar: (re)add Runtime PM support
@ 2016-12-08 17:32 Niklas Söderlund
  2016-12-08 17:32 ` [PATCH 1/2] gpio: rcar: set IRQ chip parent_device Niklas Söderlund
  2016-12-08 17:32 ` [PATCH 2/2] gpio: rcar: Fine-grained Runtime PM support Niklas Söderlund
  0 siblings, 2 replies; 12+ messages in thread
From: Niklas Söderlund @ 2016-12-08 17:32 UTC (permalink / raw)
  To: Geert Uytterhoeven, Linus Walleij, linux-gpio, linux-renesas-soc
  Cc: Jon Hunter, Laurent Pinchart, Niklas Söderlund

Hi all,

This series (re)adds Runtime PM support which was reverted by:

commit 42c25013ca95ce79 ('Revert "gpio: rcar: Add Runtime PM handling for interrupts"')
commit ce0e2c60e69e5f87 ('Revert "gpio: rcar: Fine-grained Runtime PM support"')

The reason it was reverted was that 'Runtime PM handling for interrupts'
could triggering a BUG() in linux/drivers/base/power/runtime.c 'BUG: 
sleeping function called from invalid context', see [1]. Since then Jon 
Hunter have solved this in a generic way in:

commit be45beb2df6909d4 ("genirq: Add runtime power management support for IRQ chips")

Patch 1/2 make use of Jons work to make sure proper PM handling when an 
GPIO is requested as an interrupt and patch 2/2 is just a resurrection 
of Geerts original patch with small fixups to catch up with changes to 
the driver.

I have tested the series on Koelsch and Salvator-X H3 and can in in 
sysfs observe that only GPIO blocks which are used are powered on.  
Requesting a GPIO from a powered down block will power it on and 
releasing it will power it off.

To test that patch 1/2 works as expected I have done tests on Salvator-X 
where the EtherAVB will not work with patch 2/2 applied, which moves 
pm_runtime_get_sync() from probe time to gpio_rcar_request(). Whit that 
move the GPIO block used by EtherAVB will not be powered on unless done 
so when the interrupt is requested, which we add support for in 1/2.

I'm not sure on how to best resurrect a patch which have been reverted, 
I dropped all Signed-off-by lines except Geerts as he is the author and 
added my own Signed-off-by since I'm resending it. Hope this is OK, if 
not please let me know.

1. https://www.spinics.net/lists/linux-renesas-soc/msg02710.html

Geert Uytterhoeven (1):
  gpio: rcar: Fine-grained Runtime PM support

Niklas Söderlund (1):
  gpio: rcar: set IRQ chip parent_device

 drivers/gpio/gpio-rcar.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

-- 
2.10.2


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-12-28  0:33 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-08 17:32 [PATCH 0/2] gpio: rcar: (re)add Runtime PM support Niklas Söderlund
2016-12-08 17:32 ` [PATCH 1/2] gpio: rcar: set IRQ chip parent_device Niklas Söderlund
2016-12-08 21:36   ` Laurent Pinchart
2016-12-09 10:43   ` Geert Uytterhoeven
2016-12-28  0:31   ` Linus Walleij
2016-12-08 17:32 ` [PATCH 2/2] gpio: rcar: Fine-grained Runtime PM support Niklas Söderlund
2016-12-08 21:40   ` Laurent Pinchart
2016-12-08 23:15     ` Niklas Söderlund
2016-12-08 23:21       ` Laurent Pinchart
2016-12-15 23:12         ` Linus Walleij
2016-12-09 10:26   ` Geert Uytterhoeven
2016-12-28  0:33   ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).