aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/omap_hsmmc.c
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2013-09-25 08:47:06 -0400
committerChris Ball <cjb@laptop.org>2013-10-30 20:28:24 -0400
commit3932afd514af5855741116159627a90fd1ac918e (patch)
treecf5498e7bd9f439299f40b756d9c16914bbc0354 /drivers/mmc/host/omap_hsmmc.c
parentccbd483027d8b1cb1c85e2477cd9247d43515046 (diff)
mmc: omap: Remove redundant suspend and resume callbacks
Suspend and resume of cards are handled by the protocol layer and consequently the mmc_suspend|resume_host APIs are marked as deprecated. While moving away from using the deprecated APIs, there are nothing left to be done for the suspend and resume callbacks, so remove them. Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com> Cc: linux-omap@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/omap_hsmmc.c')
-rw-r--r--drivers/mmc/host/omap_hsmmc.c36
1 files changed, 3 insertions, 33 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 540dead767b9..dbd32ad3b749 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1171,9 +1171,6 @@ static irqreturn_t omap_hsmmc_detect(int irq, void *dev_id)
1171 struct omap_mmc_slot_data *slot = &mmc_slot(host); 1171 struct omap_mmc_slot_data *slot = &mmc_slot(host);
1172 int carddetect; 1172 int carddetect;
1173 1173
1174 if (host->suspended)
1175 return IRQ_HANDLED;
1176
1177 sysfs_notify(&host->mmc->class_dev.kobj, NULL, "cover_switch"); 1174 sysfs_notify(&host->mmc->class_dev.kobj, NULL, "cover_switch");
1178 1175
1179 if (slot->card_detect) 1176 if (slot->card_detect)
@@ -1632,11 +1629,6 @@ static int omap_hsmmc_regs_show(struct seq_file *s, void *data)
1632 seq_printf(s, "mmc%d:\n ctx_loss:\t%d\n\nregs:\n", 1629 seq_printf(s, "mmc%d:\n ctx_loss:\t%d\n\nregs:\n",
1633 mmc->index, host->context_loss); 1630 mmc->index, host->context_loss);
1634 1631
1635 if (host->suspended) {
1636 seq_printf(s, "host suspended, can't read registers\n");
1637 return 0;
1638 }
1639
1640 pm_runtime_get_sync(host->dev); 1632 pm_runtime_get_sync(host->dev);
1641 1633
1642 seq_printf(s, "CON:\t\t0x%08x\n", 1634 seq_printf(s, "CON:\t\t0x%08x\n",
@@ -2101,23 +2093,12 @@ static void omap_hsmmc_complete(struct device *dev)
2101 2093
2102static int omap_hsmmc_suspend(struct device *dev) 2094static int omap_hsmmc_suspend(struct device *dev)
2103{ 2095{
2104 int ret = 0;
2105 struct omap_hsmmc_host *host = dev_get_drvdata(dev); 2096 struct omap_hsmmc_host *host = dev_get_drvdata(dev);
2106 2097
2107 if (!host) 2098 if (!host)
2108 return 0; 2099 return 0;
2109 2100
2110 if (host && host->suspended)
2111 return 0;
2112
2113 pm_runtime_get_sync(host->dev); 2101 pm_runtime_get_sync(host->dev);
2114 host->suspended = 1;
2115 ret = mmc_suspend_host(host->mmc);
2116
2117 if (ret) {
2118 host->suspended = 0;
2119 goto err;
2120 }
2121 2102
2122 if (!(host->mmc->pm_flags & MMC_PM_KEEP_POWER)) { 2103 if (!(host->mmc->pm_flags & MMC_PM_KEEP_POWER)) {
2123 omap_hsmmc_disable_irq(host); 2104 omap_hsmmc_disable_irq(host);
@@ -2127,23 +2108,19 @@ static int omap_hsmmc_suspend(struct device *dev)
2127 2108
2128 if (host->dbclk) 2109 if (host->dbclk)
2129 clk_disable_unprepare(host->dbclk); 2110 clk_disable_unprepare(host->dbclk);
2130err: 2111
2131 pm_runtime_put_sync(host->dev); 2112 pm_runtime_put_sync(host->dev);
2132 return ret; 2113 return 0;
2133} 2114}
2134 2115
2135/* Routine to resume the MMC device */ 2116/* Routine to resume the MMC device */
2136static int omap_hsmmc_resume(struct device *dev) 2117static int omap_hsmmc_resume(struct device *dev)
2137{ 2118{
2138 int ret = 0;
2139 struct omap_hsmmc_host *host = dev_get_drvdata(dev); 2119 struct omap_hsmmc_host *host = dev_get_drvdata(dev);
2140 2120
2141 if (!host) 2121 if (!host)
2142 return 0; 2122 return 0;
2143 2123
2144 if (host && !host->suspended)
2145 return 0;
2146
2147 pm_runtime_get_sync(host->dev); 2124 pm_runtime_get_sync(host->dev);
2148 2125
2149 if (host->dbclk) 2126 if (host->dbclk)
@@ -2154,16 +2131,9 @@ static int omap_hsmmc_resume(struct device *dev)
2154 2131
2155 omap_hsmmc_protect_card(host); 2132 omap_hsmmc_protect_card(host);
2156 2133
2157 /* Notify the core to resume the host */
2158 ret = mmc_resume_host(host->mmc);
2159 if (ret == 0)
2160 host->suspended = 0;
2161
2162 pm_runtime_mark_last_busy(host->dev); 2134 pm_runtime_mark_last_busy(host->dev);
2163 pm_runtime_put_autosuspend(host->dev); 2135 pm_runtime_put_autosuspend(host->dev);
2164 2136 return 0;
2165 return ret;
2166
2167} 2137}
2168 2138
2169#else 2139#else