|
@@ -2696,23 +2696,6 @@ EXPORT_SYMBOL(dw_mci_remove);
|
|
*/
|
|
*/
|
|
int dw_mci_suspend(struct dw_mci *host)
|
|
int dw_mci_suspend(struct dw_mci *host)
|
|
{
|
|
{
|
|
- int i, ret = 0;
|
|
|
|
-
|
|
|
|
- for (i = 0; i < host->num_slots; i++) {
|
|
|
|
- struct dw_mci_slot *slot = host->slot[i];
|
|
|
|
- if (!slot)
|
|
|
|
- continue;
|
|
|
|
- ret = mmc_suspend_host(slot->mmc);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- while (--i >= 0) {
|
|
|
|
- slot = host->slot[i];
|
|
|
|
- if (slot)
|
|
|
|
- mmc_resume_host(host->slot[i]->mmc);
|
|
|
|
- }
|
|
|
|
- return ret;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (host->vmmc)
|
|
if (host->vmmc)
|
|
regulator_disable(host->vmmc);
|
|
regulator_disable(host->vmmc);
|
|
|
|
|
|
@@ -2765,10 +2748,6 @@ int dw_mci_resume(struct dw_mci *host)
|
|
dw_mci_set_ios(slot->mmc, &slot->mmc->ios);
|
|
dw_mci_set_ios(slot->mmc, &slot->mmc->ios);
|
|
dw_mci_setup_bus(slot, true);
|
|
dw_mci_setup_bus(slot, true);
|
|
}
|
|
}
|
|
-
|
|
|
|
- ret = mmc_resume_host(host->slot[i]->mmc);
|
|
|
|
- if (ret < 0)
|
|
|
|
- return ret;
|
|
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|