|
|
@@ -1119,6 +1119,12 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+ set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
|
|
|
+ regs = mci_readl(slot->host, PWREN);
|
|
|
+ regs |= (1 << slot->id);
|
|
|
+ mci_writel(slot->host, PWREN, regs);
|
|
|
+ break;
|
|
|
+ case MMC_POWER_ON:
|
|
|
if (!IS_ERR(mmc->supply.vqmmc) && !slot->host->vqmmc_enabled) {
|
|
|
ret = regulator_enable(mmc->supply.vqmmc);
|
|
|
if (ret < 0)
|
|
|
@@ -1127,10 +1133,6 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
else
|
|
|
slot->host->vqmmc_enabled = true;
|
|
|
}
|
|
|
- set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
|
|
|
- regs = mci_readl(slot->host, PWREN);
|
|
|
- regs |= (1 << slot->id);
|
|
|
- mci_writel(slot->host, PWREN, regs);
|
|
|
break;
|
|
|
case MMC_POWER_OFF:
|
|
|
if (!IS_ERR(mmc->supply.vmmc))
|