mmc: wmt-sdmmc: Move away from using deprecated APIs
Suspend and resume of cards are being handled from the protocol layer and consequently the mmc_suspend|resume_host APIs are deprecated. This means we can simplify the suspend|resume callbacks by removing the use of the deprecated APIs. Cc: Tony Prisk <linux@prisktech.co.nz> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
bd190f90b5
commit
7af3766350
|
@ -925,28 +925,23 @@ static int wmt_mci_suspend(struct device *dev)
|
||||||
struct platform_device *pdev = to_platform_device(dev);
|
struct platform_device *pdev = to_platform_device(dev);
|
||||||
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
||||||
struct wmt_mci_priv *priv;
|
struct wmt_mci_priv *priv;
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (!mmc)
|
if (!mmc)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
priv = mmc_priv(mmc);
|
priv = mmc_priv(mmc);
|
||||||
ret = mmc_suspend_host(mmc);
|
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
||||||
|
writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base +
|
||||||
|
SDMMC_BUSMODE);
|
||||||
|
|
||||||
if (!ret) {
|
reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN);
|
||||||
reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
|
writew(reg_tmp & 0x5FFF, priv->sdmmc_base + SDMMC_BLKLEN);
|
||||||
writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base +
|
|
||||||
SDMMC_BUSMODE);
|
|
||||||
|
|
||||||
reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN);
|
writeb(0xFF, priv->sdmmc_base + SDMMC_STS0);
|
||||||
writew(reg_tmp & 0x5FFF, priv->sdmmc_base + SDMMC_BLKLEN);
|
writeb(0xFF, priv->sdmmc_base + SDMMC_STS1);
|
||||||
|
|
||||||
writeb(0xFF, priv->sdmmc_base + SDMMC_STS0);
|
clk_disable(priv->clk_sdmmc);
|
||||||
writeb(0xFF, priv->sdmmc_base + SDMMC_STS1);
|
return 0;
|
||||||
|
|
||||||
clk_disable(priv->clk_sdmmc);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wmt_mci_resume(struct device *dev)
|
static int wmt_mci_resume(struct device *dev)
|
||||||
|
@ -955,7 +950,6 @@ static int wmt_mci_resume(struct device *dev)
|
||||||
struct platform_device *pdev = to_platform_device(dev);
|
struct platform_device *pdev = to_platform_device(dev);
|
||||||
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
struct mmc_host *mmc = platform_get_drvdata(pdev);
|
||||||
struct wmt_mci_priv *priv;
|
struct wmt_mci_priv *priv;
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
if (mmc) {
|
if (mmc) {
|
||||||
priv = mmc_priv(mmc);
|
priv = mmc_priv(mmc);
|
||||||
|
@ -973,10 +967,9 @@ static int wmt_mci_resume(struct device *dev)
|
||||||
writeb(reg_tmp | INT0_DI_INT_EN, priv->sdmmc_base +
|
writeb(reg_tmp | INT0_DI_INT_EN, priv->sdmmc_base +
|
||||||
SDMMC_INTMASK0);
|
SDMMC_INTMASK0);
|
||||||
|
|
||||||
ret = mmc_resume_host(mmc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct dev_pm_ops wmt_mci_pm = {
|
static const struct dev_pm_ops wmt_mci_pm = {
|
||||||
|
|
Loading…
Reference in New Issue