goto err_clk_get;
        }
        pltfm_host->clk = clk;
-       clk_enable(clk);
+       clk_prepare_enable(clk);
 
        host->quirks = SDHCI_QUIRK_BROKEN_ADMA
                | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
        return 0;
 
 err_add_host:
-       clk_disable(clk);
+       clk_disable_unprepare(clk);
        clk_put(clk);
 err_clk_get:
        sdhci_pltfm_free(pdev);
 
        sdhci_remove_host(host, 1);
 
-       clk_disable(pltfm_host->clk);
+       clk_disable_unprepare(pltfm_host->clk);
        clk_put(pltfm_host->clk);
        sdhci_pltfm_free(pdev);
        kfree(pxa);
 
        pltfm_host = sdhci_priv(host);
        pltfm_host->priv = pxa;
 
-       clk = clk_get(dev, "PXA-SDHCLK");
+       clk = clk_get(dev, NULL);
        if (IS_ERR(clk)) {
                dev_err(dev, "failed to get io clock\n");
                ret = PTR_ERR(clk);
                goto err_clk_get;
        }
        pltfm_host->clk = clk;
-       clk_enable(clk);
+       clk_prepare_enable(clk);
 
        host->quirks = SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
                | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC
        return 0;
 
 err_add_host:
-       clk_disable(clk);
+       clk_disable_unprepare(clk);
        clk_put(clk);
 err_clk_get:
        sdhci_pltfm_free(pdev);
 
        sdhci_remove_host(host, 1);
 
-       clk_disable(pltfm_host->clk);
+       clk_disable_unprepare(pltfm_host->clk);
        clk_put(pltfm_host->clk);
        sdhci_pltfm_free(pdev);
        kfree(pxa);