diff options
author | Todd Poynor <toddpoynor@google.com> | 2012-08-14 17:57:43 -0700 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2012-08-14 17:57:43 -0700 |
commit | 27ca4013e3b6c58da2d5923af918ae1beb169714 (patch) | |
tree | 713abe488856f06162e3068711928a71378ac4f9 /drivers/mmc | |
parent | 88e85faae9216268e633fadca39f121f8457d68d (diff) | |
parent | a15bf22cba9eec27a008331c4b8a095fc43ea6b7 (diff) | |
download | kernel_samsung_tuna-27ca4013e3b6c58da2d5923af918ae1beb169714.zip kernel_samsung_tuna-27ca4013e3b6c58da2d5923af918ae1beb169714.tar.gz kernel_samsung_tuna-27ca4013e3b6c58da2d5923af918ae1beb169714.tar.bz2 |
Merge branch 'linux-omap-3.0' into android-omap-3.0
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 81ab8e2..26bd9e6 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -2329,8 +2329,6 @@ static int omap_hsmmc_suspend(struct device *dev) return 0; if (host) { - pm_runtime_get_sync(host->dev); - host->suspended = 1; if (host->pdata->suspend) { ret = host->pdata->suspend(&pdev->dev, @@ -2340,7 +2338,6 @@ static int omap_hsmmc_suspend(struct device *dev) "Unable to handle MMC board" " level suspend\n"); host->suspended = 0; - pm_runtime_put_sync(host->dev); return ret; } } @@ -2349,9 +2346,11 @@ static int omap_hsmmc_suspend(struct device *dev) host->mmc->pm_flags |= MMC_PM_KEEP_POWER; ret = mmc_suspend_host(host->mmc); if (ret == 0) { + mmc_host_enable(host->mmc); omap_hsmmc_disable_irq(host); OMAP_HSMMC_WRITE(host->base, HCTL, OMAP_HSMMC_READ(host->base, HCTL) & ~SDBP); + mmc_host_disable(host->mmc); if (host->got_dbclk) clk_disable(host->dbclk); @@ -2366,7 +2365,6 @@ static int omap_hsmmc_suspend(struct device *dev) } } - pm_runtime_put_sync(host->dev); } return ret; } @@ -2382,7 +2380,9 @@ static int omap_hsmmc_resume(struct device *dev) return 0; if (host) { - pm_runtime_get_sync(host->dev); + if (mmc_host_enable(host->mmc) != 0) { + goto clk_en_err; + } if (host->got_dbclk) clk_enable(host->dbclk); @@ -2403,7 +2403,7 @@ static int omap_hsmmc_resume(struct device *dev) if (ret == 0) host->suspended = 0; - pm_runtime_put_sync(host->dev); + mmc_host_lazy_disable(host->mmc); } return ret; |