• Ohad Ben-Cohen's avatar
    mmc: sdio: don't power up cards on system suspend · e594573d
    Ohad Ben-Cohen authored
    Initial SDIO runtime PM implementation took a conservative approach
    of powering up cards (and fully reinitializing them) on system suspend,
    just before the suspend handlers of the relevant drivers were executed.
    
    To avoid redundant power and reinitialization cycles, this patch removes
    this behavior: if a card is already powered off when system suspend kicks
    in, it is left at that state.
    
    If a card is active when a system sleep starts, everything is
    straightforward and works exactly like before. But if the card was
    already suspended before the sleep began, then when the MMC core powers
    it back up on resume, its run-time PM status has to be updated to reflect
    the actual post-system sleep status.
    
    The technique to do that is borrowed from the I2C runtime PM
    implementation (for more info see Documentation/power/runtime_pm.txt).
    Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
    Reviewed-by: default avatarChris Ball <cjb@laptop.org>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    e594573d
sdio_bus.c 7.14 KB