mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +00:00
mmc: sdhci-s3c: Use devm_clk_get()
Use devm_clk_get() rather than clk_get() to make cleanup paths more simple. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
dc642c28d4
commit
3aaf7ba7fd
1 changed files with 2 additions and 15 deletions
|
@ -608,7 +608,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
|
|||
|
||||
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)) {
|
||||
dev_err(dev, "failed to get io clock\n");
|
||||
ret = PTR_ERR(sc->clk_io);
|
||||
|
@ -623,7 +623,7 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
|
|||
char name[14];
|
||||
|
||||
snprintf(name, 14, "mmc_busclk.%d", ptr);
|
||||
clk = clk_get(dev, name);
|
||||
clk = devm_clk_get(dev, name);
|
||||
if (IS_ERR(clk))
|
||||
continue;
|
||||
|
||||
|
@ -764,15 +764,9 @@ static int sdhci_s3c_probe(struct platform_device *pdev)
|
|||
#ifndef CONFIG_PM_RUNTIME
|
||||
clk_disable_unprepare(sc->clk_bus[sc->cur_clk]);
|
||||
#endif
|
||||
for (ptr = 0; ptr < MAX_BUS_CLK; ptr++) {
|
||||
if (sc->clk_bus[ptr]) {
|
||||
clk_put(sc->clk_bus[ptr]);
|
||||
}
|
||||
}
|
||||
|
||||
err_no_busclks:
|
||||
clk_disable_unprepare(sc->clk_io);
|
||||
clk_put(sc->clk_io);
|
||||
|
||||
err_pdata_io_clk:
|
||||
sdhci_free_host(host);
|
||||
|
@ -785,7 +779,6 @@ static int sdhci_s3c_remove(struct platform_device *pdev)
|
|||
struct sdhci_host *host = platform_get_drvdata(pdev);
|
||||
struct sdhci_s3c *sc = sdhci_priv(host);
|
||||
struct s3c_sdhci_platdata *pdata = sc->pdata;
|
||||
int ptr;
|
||||
|
||||
if (pdata->cd_type == S3C_SDHCI_CD_EXTERNAL && pdata->ext_cd_cleanup)
|
||||
pdata->ext_cd_cleanup(&sdhci_s3c_notify_change);
|
||||
|
@ -805,13 +798,7 @@ static int sdhci_s3c_remove(struct platform_device *pdev)
|
|||
#ifndef CONFIG_PM_RUNTIME
|
||||
clk_disable_unprepare(sc->clk_bus[sc->cur_clk]);
|
||||
#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_put(sc->clk_io);
|
||||
|
||||
sdhci_free_host(host);
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
|
|
Loading…
Reference in a new issue