[...] >> >> In that case, don't forget to enable MMC_CAP2_FULL_PWR_CYCLE. >> >> > >> > if MMC_CAP2_NO_PRESCAN_POWERUP enable, will call mmc_power_off() at start, >> > then it will check ios.power_mode, but the state is MMC_POWER_OFF and just >> > return. >> >> Uhh, that's right! So, I wonder why we invokes mmc_power_off() from >> that path at all. >> >> Hmm, I think we should change the behavior in mmc_start_host(), like below: >> 1) Add a "MMC_POWER_UNDEFINED" state which is what the power state >> should be assigned to at allocation. >> 2 ) From mmc_start_host(), invoke mmc_power_off() when >> MMC_CAP2_NO_PRESCAN_POWERUP and MMC_CAP2_FULL_PWR_CYCLE is set. >> >> Would that work? > Yes. I have confirmed this by following changes. The MMC_POWER_UNDEFINED > designation in mmc_start_host() will eventually cause a power-off > operation. > > But I wonder if we need to additionally check MMC_CAP2_FULL_PWR_CYCLE > before calling mmc_power_off()? The intent from my side was to keep the current behaviour for those that already used MMC_CAP2_NO_PRESCAN_POWERUP, but it's s not a big deal. So, let's try your proposal, thus don't check MMC_CAP2_FULL_PWR_CYCLE. Can you repost new version of your patches and please split them up on core and host separately. Kind regards Uffe -- 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