Commit 3aaf7ba7 authored by Jingoo Han's avatar Jingoo Han Committed by Chris Ball

mmc: sdhci-s3c: Use devm_clk_get()

Use devm_clk_get() rather than clk_get() to make cleanup paths
more simple.
Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent dc642c28
...@@ -608,7 +608,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev) ...@@ -608,7 +608,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, host); platform_set_drvdata(pdev, host);
sc->clk_io = clk_get(dev, "hsmmc"); sc->clk_io = devm_clk_get(dev, "hsmmc");
if (IS_ERR(sc->clk_io)) { if (IS_ERR(sc->clk_io)) {
dev_err(dev, "failed to get io clock\n"); dev_err(dev, "failed to get io clock\n");
ret = PTR_ERR(sc->clk_io); ret = PTR_ERR(sc->clk_io);
...@@ -623,7 +623,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev) ...@@ -623,7 +623,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
char name[14]; char name[14];
snprintf(name, 14, "mmc_busclk.%d", ptr); snprintf(name, 14, "mmc_busclk.%d", ptr);
clk = clk_get(dev, name); clk = devm_clk_get(dev, name);
if (IS_ERR(clk)) if (IS_ERR(clk))
continue; continue;
...@@ -764,15 +764,9 @@ static int sdhci_s3c_probe(struct platform_device *pdev) ...@@ -764,15 +764,9 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
#ifndef CONFIG_PM_RUNTIME #ifndef CONFIG_PM_RUNTIME
clk_disable_unprepare(sc->clk_bus[sc->cur_clk]); clk_disable_unprepare(sc->clk_bus[sc->cur_clk]);
#endif #endif
for (ptr = 0; ptr < MAX_BUS_CLK; ptr++) {
if (sc->clk_bus[ptr]) {
clk_put(sc->clk_bus[ptr]);
}
}
err_no_busclks: err_no_busclks:
clk_disable_unprepare(sc->clk_io); clk_disable_unprepare(sc->clk_io);
clk_put(sc->clk_io);
err_pdata_io_clk: err_pdata_io_clk:
sdhci_free_host(host); sdhci_free_host(host);
...@@ -785,7 +779,6 @@ static int sdhci_s3c_remove(struct platform_device *pdev) ...@@ -785,7 +779,6 @@ static int sdhci_s3c_remove(struct platform_device *pdev)
struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_host *host = platform_get_drvdata(pdev);
struct sdhci_s3c *sc = sdhci_priv(host); struct sdhci_s3c *sc = sdhci_priv(host);
struct s3c_sdhci_platdata *pdata = sc->pdata; struct s3c_sdhci_platdata *pdata = sc->pdata;
int ptr;
if (pdata->cd_type == S3C_SDHCI_CD_EXTERNAL && pdata->ext_cd_cleanup) if (pdata->cd_type == S3C_SDHCI_CD_EXTERNAL && pdata->ext_cd_cleanup)
pdata->ext_cd_cleanup(&sdhci_s3c_notify_change); pdata->ext_cd_cleanup(&sdhci_s3c_notify_change);
...@@ -805,13 +798,7 @@ static int sdhci_s3c_remove(struct platform_device *pdev) ...@@ -805,13 +798,7 @@ static int sdhci_s3c_remove(struct platform_device *pdev)
#ifndef CONFIG_PM_RUNTIME #ifndef CONFIG_PM_RUNTIME
clk_disable_unprepare(sc->clk_bus[sc->cur_clk]); clk_disable_unprepare(sc->clk_bus[sc->cur_clk]);
#endif #endif
for (ptr = 0; ptr < MAX_BUS_CLK; ptr++) {
if (sc->clk_bus[ptr]) {
clk_put(sc->clk_bus[ptr]);
}
}
clk_disable_unprepare(sc->clk_io); clk_disable_unprepare(sc->clk_io);
clk_put(sc->clk_io);
sdhci_free_host(host); sdhci_free_host(host);
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment