aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2013-09-25 09:43:45 -0400
committerChris Ball <cjb@laptop.org>2013-10-30 20:28:27 -0400
commit7af37663502ff842846dba1afa2f792afeb41805 (patch)
tree46ec161ff2c2bbd10a3e72e6cd10b065311c0095 /drivers/mmc
parentbd190f90b5fb75a8421ccfecd2ee6c82605f7620 (diff)
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>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/wmt-sdmmc.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c
index 57858efb3762..e902ed7846b0 100644
--- a/drivers/mmc/host/wmt-sdmmc.c
+++ b/drivers/mmc/host/wmt-sdmmc.c
@@ -925,28 +925,23 @@ static int wmt_mci_suspend(struct device *dev)
925 struct platform_device *pdev = to_platform_device(dev); 925 struct platform_device *pdev = to_platform_device(dev);
926 struct mmc_host *mmc = platform_get_drvdata(pdev); 926 struct mmc_host *mmc = platform_get_drvdata(pdev);
927 struct wmt_mci_priv *priv; 927 struct wmt_mci_priv *priv;
928 int ret;
929 928
930 if (!mmc) 929 if (!mmc)
931 return 0; 930 return 0;
932 931
933 priv = mmc_priv(mmc); 932 priv = mmc_priv(mmc);
934 ret = mmc_suspend_host(mmc); 933 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
935 934 writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base +
936 if (!ret) { 935 SDMMC_BUSMODE);
937 reg_tmp = readb(priv->sdmmc_base + SDMMC_BUSMODE);
938 writeb(reg_tmp | BM_SOFT_RESET, priv->sdmmc_base +
939 SDMMC_BUSMODE);
940 936
941 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN); 937 reg_tmp = readw(priv->sdmmc_base + SDMMC_BLKLEN);
942 writew(reg_tmp & 0x5FFF, priv->sdmmc_base + SDMMC_BLKLEN); 938 writew(reg_tmp & 0x5FFF, priv->sdmmc_base + SDMMC_BLKLEN);
943 939
944 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0); 940 writeb(0xFF, priv->sdmmc_base + SDMMC_STS0);
945 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1); 941 writeb(0xFF, priv->sdmmc_base + SDMMC_STS1);
946 942
947 clk_disable(priv->clk_sdmmc); 943 clk_disable(priv->clk_sdmmc);
948 } 944 return 0;
949 return ret;
950} 945}
951 946
952static int wmt_mci_resume(struct device *dev) 947static int wmt_mci_resume(struct device *dev)
@@ -955,7 +950,6 @@ static int wmt_mci_resume(struct device *dev)
955 struct platform_device *pdev = to_platform_device(dev); 950 struct platform_device *pdev = to_platform_device(dev);
956 struct mmc_host *mmc = platform_get_drvdata(pdev); 951 struct mmc_host *mmc = platform_get_drvdata(pdev);
957 struct wmt_mci_priv *priv; 952 struct wmt_mci_priv *priv;
958 int ret = 0;
959 953
960 if (mmc) { 954 if (mmc) {
961 priv = mmc_priv(mmc); 955 priv = mmc_priv(mmc);
@@ -973,10 +967,9 @@ static int wmt_mci_resume(struct device *dev)
973 writeb(reg_tmp | INT0_DI_INT_EN, priv->sdmmc_base + 967 writeb(reg_tmp | INT0_DI_INT_EN, priv->sdmmc_base +
974 SDMMC_INTMASK0); 968 SDMMC_INTMASK0);
975 969
976 ret = mmc_resume_host(mmc);
977 } 970 }
978 971
979 return ret; 972 return 0;
980} 973}
981 974
982static const struct dev_pm_ops wmt_mci_pm = { 975static const struct dev_pm_ops wmt_mci_pm = {