Add the ability to partially initialize the MMC device by using device sleep/awake sequence (CMD5). Device will be sent to sleep state during mmc runtime/system suspend and will be woken up during mmc runtime/system resume. By using this sequence the device doesn't need full initialization which gives 25% time reduction in system/runtime resume path. Also enable this feature along with mmc runtime PM for qualcomm controllers. Changes since V2: - Fixed one warning reported by kernel test robot. >> drivers/mmc/core/mmc.c:1975: warning: Function parameter or member 'host' not described in 'mmc_sleepawake' - Included name of the subystem/driver in the title of the series as suggested by Bryan O'Donoghue. - Enabled MMC_CAP_AGGRESSIVE_PM for qualcomm controller and posted as [V3,3/3] as suggested by Wenchao Chen. Changes since V1: - Did minor code cleanup as suggested by Avri Altman. - Added _mmc_resume gain data in commit message as suggested by Ulf Hansson. - Split patch in two patches. [V2,1/2] mmc: core: Add partial initialization support [V2,2/2] mmc: sdhci-msm: Enable MMC_CAP2_SLEEP_AWAKE for Qualcomm controllers Sarthak Garg (3): mmc: core: Add partial initialization support mmc: sdhci-msm: Enable MMC_CAP_AGGRESSIVE_PM for Qualcomm controllers mmc: sdhci-msm: Enable MMC_CAP2_SLEEP_AWAKE for Qualcomm controllers drivers/mmc/core/mmc.c | 163 +++++++++++++++++++++++++++++++++-- drivers/mmc/host/sdhci-msm.c | 2 + include/linux/mmc/card.h | 4 + include/linux/mmc/host.h | 2 + 4 files changed, 162 insertions(+), 9 deletions(-) -- 2.17.1