mmc: msm_sdcc: Free slot resources on shutdown
Free hardware resources such as regulators
on shutdown so card will be in expected state
during soft reset such as adb reboot.
Change-Id: I2aab44de2c7cb20e09213decb29a3ac6b6441148
Signed-off-by: Oluwafemi Adeyemi <aadeyemi@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index ff12eb1..c5f4498 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -4732,6 +4732,14 @@
return 0;
}
+static void msmsdcc_shutdown(struct platform_device *pdev)
+{
+ struct mmc_host *mmc = mmc_get_drvdata(pdev);
+
+ mmc_remove_host(mmc);
+ mmc_free_host(mmc);
+}
+
#ifdef CONFIG_MSM_SDIO_AL
int msmsdcc_sdio_al_lpm(struct mmc_host *mmc, bool enable)
{
@@ -5030,6 +5038,7 @@
static struct platform_driver msmsdcc_driver = {
.probe = msmsdcc_probe,
.remove = msmsdcc_remove,
+ .shutdown = msmsdcc_shutdown,
.driver = {
.name = "msm_sdcc",
.pm = &msmsdcc_dev_pm_ops,