]> git.karo-electronics.de Git - mv-sheeva.git/commit
mmc: sdio: support suspend/resume while runtime suspended
authorOhad Ben-Cohen <ohad@wizery.com>
Sat, 2 Oct 2010 11:54:13 +0000 (13:54 +0200)
committerChris Ball <cjb@laptop.org>
Sat, 23 Oct 2010 13:11:19 +0000 (21:11 +0800)
commited2a9785942b0986ac858f3f48d7fc5f7c7183de
tree31853b8ba7ab7ee06fbd5bbf08c9e94fca091631
parent87973ba27b751353e2915cb3aa5c0e0dc6a79a4f
mmc: sdio: support suspend/resume while runtime suspended

Bring SDIO devices back to full power before their suspend
handler is invoked.

Doing so ensures that SDIO suspend/resume semantics are
maintained (drivers still get to decide whether their
card should be removed or kept during system suspend,
and at what power state), and that SDIO suspend/resume
execution paths are unchanged.

This is achieved by resuming a runtime-suspended SDIO device
in its ->prepare() PM callback (similary to the PCI subsystem).

Since the PM core always increments the run-time usage
counter before calling the ->prepare() callback and decrements
it after calling the ->complete() callback, it is guaranteed
that when the system will come out of suspend, our device's
power state will reflect its runtime PM usage counter.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Tested-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/sdio_bus.c