mmc: core: Remove redundant mmc_power_up|off at runtime callbacks
authorUlf Hansson <ulf.hansson@linaro.org>
Thu, 3 Oct 2013 09:24:44 +0000 (11:24 +0200)
committerlintao <lintao@rock-chips.com>
Fri, 7 Mar 2014 11:34:16 +0000 (19:34 +0800)
Commit "mmc: core: Push common suspend|resume code into each bus_ops"
moved the responsibility for doing mmc_power_up|off into each
suspend/resume bus_ops. When using MMC_CAP_AGGRESSIVE_PM, through the
runtime callbacks, calls to mmc_power_up|off became redundant.

When removing them, we are also able to remove the calls to
mmc_claim|release_host, thus simplifing code a bit more.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c

index 84d8694cf3694abadd9eddb43edc1c2468570f85..b22eff80a95e12381b1c952287c9fd0e8614ec5d 100644 (file)
@@ -1575,18 +1575,11 @@ static int mmc_runtime_suspend(struct mmc_host *host)
        if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
                return 0;
 
-       mmc_claim_host(host);
-
        err = mmc_suspend(host);
-       if (err) {
+       if (err)
                pr_err("%s: error %d doing aggessive suspend\n",
                        mmc_hostname(host), err);
-               goto out;
-       }
-       mmc_power_off(host);
 
-out:
-       mmc_release_host(host);
        return err;
 }
 
@@ -1600,15 +1593,11 @@ static int mmc_runtime_resume(struct mmc_host *host)
        if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
                return 0;
 
-       mmc_claim_host(host);
-
-       mmc_power_up(host, host->card->ocr);
        err = mmc_resume(host);
        if (err)
                pr_err("%s: error %d doing aggessive resume\n",
                        mmc_hostname(host), err);
 
-       mmc_release_host(host);
        return 0;
 }
 
index 1793982d849fefe072294229b41c14fe32261e2e..2ab5c7337aee933752b77f0e94fcfa2dcf8851cc 100644 (file)
@@ -1173,18 +1173,11 @@ static int mmc_sd_runtime_suspend(struct mmc_host *host)
        if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
                return 0;
 
-       mmc_claim_host(host);
-
        err = mmc_sd_suspend(host);
-       if (err) {
+       if (err)
                pr_err("%s: error %d doing aggessive suspend\n",
                        mmc_hostname(host), err);
-               goto out;
-       }
-       mmc_power_off(host);
 
-out:
-       mmc_release_host(host);
        return err;
 }
 
@@ -1198,15 +1191,11 @@ static int mmc_sd_runtime_resume(struct mmc_host *host)
        if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
                return 0;
 
-       mmc_claim_host(host);
-
-       mmc_power_up(host, host->card->ocr);
        err = mmc_sd_resume(host);
        if (err)
                pr_err("%s: error %d doing aggessive resume\n",
                        mmc_hostname(host), err);
 
-       mmc_release_host(host);
        return 0;
 }