Commit 1fb654fd authored by Andreas Fenkart's avatar Andreas Fenkart Committed by Ulf Hansson

mmc: sdio: add reset callback to bus operations

Some drivers schedule automatic hw resets. An example is mwifiex,
which schedules a card reset if the command handler between driver
and card firmware becomes out of sync
Signed-off-by: default avatarAndreas Fenkart <afenkart@gmail.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent ba155e2d
...@@ -1056,6 +1056,12 @@ static int mmc_sdio_runtime_resume(struct mmc_host *host) ...@@ -1056,6 +1056,12 @@ static int mmc_sdio_runtime_resume(struct mmc_host *host)
return mmc_sdio_power_restore(host); return mmc_sdio_power_restore(host);
} }
static int mmc_sdio_reset(struct mmc_host *host)
{
mmc_power_cycle(host, host->card->ocr);
return mmc_sdio_power_restore(host);
}
static const struct mmc_bus_ops mmc_sdio_ops = { static const struct mmc_bus_ops mmc_sdio_ops = {
.remove = mmc_sdio_remove, .remove = mmc_sdio_remove,
.detect = mmc_sdio_detect, .detect = mmc_sdio_detect,
...@@ -1066,6 +1072,7 @@ static const struct mmc_bus_ops mmc_sdio_ops = { ...@@ -1066,6 +1072,7 @@ static const struct mmc_bus_ops mmc_sdio_ops = {
.runtime_resume = mmc_sdio_runtime_resume, .runtime_resume = mmc_sdio_runtime_resume,
.power_restore = mmc_sdio_power_restore, .power_restore = mmc_sdio_power_restore,
.alive = mmc_sdio_alive, .alive = mmc_sdio_alive,
.reset = mmc_sdio_reset,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment