|
|
@@ -193,7 +193,6 @@ struct mmc_davinci_host {
|
|
|
#define DAVINCI_MMC_DATADIR_READ 1
|
|
|
#define DAVINCI_MMC_DATADIR_WRITE 2
|
|
|
unsigned char data_dir;
|
|
|
- unsigned char suspended;
|
|
|
|
|
|
/* buffer is used during PIO of one scatterlist segment, and
|
|
|
* is updated along with buffer_bytes_left. bytes_left applies
|
|
|
@@ -1435,38 +1434,23 @@ static int davinci_mmcsd_suspend(struct device *dev)
|
|
|
{
|
|
|
struct platform_device *pdev = to_platform_device(dev);
|
|
|
struct mmc_davinci_host *host = platform_get_drvdata(pdev);
|
|
|
- int ret;
|
|
|
|
|
|
- ret = mmc_suspend_host(host->mmc);
|
|
|
- if (!ret) {
|
|
|
- writel(0, host->base + DAVINCI_MMCIM);
|
|
|
- mmc_davinci_reset_ctrl(host, 1);
|
|
|
- clk_disable(host->clk);
|
|
|
- host->suspended = 1;
|
|
|
- } else {
|
|
|
- host->suspended = 0;
|
|
|
- }
|
|
|
+ writel(0, host->base + DAVINCI_MMCIM);
|
|
|
+ mmc_davinci_reset_ctrl(host, 1);
|
|
|
+ clk_disable(host->clk);
|
|
|
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static int davinci_mmcsd_resume(struct device *dev)
|
|
|
{
|
|
|
struct platform_device *pdev = to_platform_device(dev);
|
|
|
struct mmc_davinci_host *host = platform_get_drvdata(pdev);
|
|
|
- int ret;
|
|
|
-
|
|
|
- if (!host->suspended)
|
|
|
- return 0;
|
|
|
|
|
|
clk_enable(host->clk);
|
|
|
-
|
|
|
mmc_davinci_reset_ctrl(host, 0);
|
|
|
- ret = mmc_resume_host(host->mmc);
|
|
|
- if (!ret)
|
|
|
- host->suspended = 0;
|
|
|
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static const struct dev_pm_ops davinci_mmcsd_pm = {
|