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);
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;
#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);
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);
#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);