android_kernel_xiaomi_sm8350/drivers/mmc/core
Ohad Ben-Cohen ed2a978594 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>
2010-10-23 21:11:19 +08:00
..
bus.c mmc: add runtime PM handlers 2010-10-23 21:11:18 +08:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
core.h mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
debugfs.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
host.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
host.h
Kconfig
Makefile mmc: Makefile: Fix EXTRA_CFLAGS assignment 2010-10-23 21:11:15 +08:00
mmc_ops.c
mmc_ops.h
mmc.c mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
sd_ops.c mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
sd.h mmc: split mmc_sd_init_card() 2010-08-11 08:59:02 -07:00
sdio_bus.c mmc: sdio: support suspend/resume while runtime suspended 2010-10-23 21:11:19 +08:00
sdio_bus.h
sdio_cis.c
sdio_cis.h
sdio_io.c sdio: add new function for RAW (Read after Write) operation 2010-05-27 09:12:40 -07:00
sdio_irq.c
sdio_ops.c
sdio_ops.h
sdio.c mmc: sdio: ensure mmc_sdio_detect is powered 2010-10-23 21:11:18 +08:00