From: Ulf Hansson <ulf.hansson@xxxxxxxxxx> The MMC/SD/SDIO cards are registered on the mmc_bus and should from a power management perspective be controlled from there. As of today each and every host driver needs to issue mmc_suspend|resume_host from their respective .suspend|resume methods, which seems like an unnecessary requirement to put on them. Additionally, a shutdown sequence shall be initiated from the mmc_bus. This patch set moves the responsiblity to suspend the cards into the mmc_bus. It also invents the shutdown sequence, also to be handled from the mmc_bus. In the SDIO case, the shutdown sequence will not involve any SDIO specific operations. If this would be desired, I suggest to handle that as and separate step, since it would involve the sdio bus and potentially the sdio drivers. As a part of the patches releated to adding the shutdown sequence, specific issues to handle eMMC power off notification properly are included in this patch set as well. The mmc_suspend|resume_host functions are not removed, but will instead always return successful. A separate patch(es) build on top of this patch set, shall remove the API:s together with updating each and every host driver. Do note, that patch 1 to 4 has been sent earlier in the set "mmc: core: Let the mmc_bus handle suspend|resume sequence". Since the functionallity are very close releated I decided to fold them in into this patch set. A big thank you to Jaehoon Chung who has tested the patches 1 to 4. Ulf Hansson (12): mmc: core: Remove unnecessary check for the remove callback mmc: core: Validate suspend prerequisites for SDIO at SUSPEND_PREPARE mmc: core: Push common suspend|resume code into each bus_ops mmc: core: Initiate suspend|resume from mmc bus instead of mmc host mmc: core: Handle card shutdown from mmc_bus mmc: core: Extend shutdown sequence to handle bus operations mmc: core: Add shutdown callback for SD bus_ops mmc: core: Handle both poweroff notification types for eMMC mmc: core: Add shutdown callback for (e)MMC bus_ops mmc: core: Enable power_off_notify for eMMC shutdown sequence mmc: core: Invent MMC_CAP2_FULL_PWR_CYCLE mmc: core: Add DT-bindings for MMC_CAP2_FULL_PWR_CYCLE Documentation/devicetree/bindings/mmc/mmc.txt | 1 + drivers/mmc/card/block.c | 15 ++++- drivers/mmc/card/mmc_test.c | 5 ++ drivers/mmc/core/bus.c | 37 ++++++++++- drivers/mmc/core/core.c | 87 ++++--------------------- drivers/mmc/core/core.h | 2 + drivers/mmc/core/host.c | 2 + drivers/mmc/core/mmc.c | 40 +++++++++--- drivers/mmc/core/sd.c | 6 ++ drivers/mmc/core/sdio.c | 48 ++++++++++++-- include/linux/mmc/card.h | 1 + include/linux/mmc/host.h | 2 +- 12 files changed, 153 insertions(+), 93 deletions(-) -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html