diff options
author | Ulf Hansson <ulf.hansson@linaro.org> | 2013-09-25 09:43:45 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-10-30 20:28:27 -0400 |
commit | 7af37663502ff842846dba1afa2f792afeb41805 (patch) | |
tree | 46ec161ff2c2bbd10a3e72e6cd10b065311c0095 | |
parent | bd190f90b5fb75a8421ccfecd2ee6c82605f7620 (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>
-rw-r--r-- | drivers/mmc/host/wmt-sdmmc.c | 27 |
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 | ||
952 | static int wmt_mci_resume(struct device *dev) | 947 | static 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 | ||
982 | static const struct dev_pm_ops wmt_mci_pm = { | 975 | static const struct dev_pm_ops wmt_mci_pm = { |