|
@@ -207,6 +207,11 @@ static int sdhci_iproc_probe(struct platform_device *pdev)
|
|
ret = PTR_ERR(pltfm_host->clk);
|
|
ret = PTR_ERR(pltfm_host->clk);
|
|
goto err;
|
|
goto err;
|
|
}
|
|
}
|
|
|
|
+ ret = clk_prepare_enable(pltfm_host->clk);
|
|
|
|
+ if (ret) {
|
|
|
|
+ dev_err(&pdev->dev, "failed to enable host clk\n");
|
|
|
|
+ goto err;
|
|
|
|
+ }
|
|
|
|
|
|
if (iproc_host->data->pdata->quirks & SDHCI_QUIRK_MISSING_CAPS) {
|
|
if (iproc_host->data->pdata->quirks & SDHCI_QUIRK_MISSING_CAPS) {
|
|
host->caps = iproc_host->data->caps;
|
|
host->caps = iproc_host->data->caps;
|
|
@@ -215,10 +220,12 @@ static int sdhci_iproc_probe(struct platform_device *pdev)
|
|
|
|
|
|
ret = sdhci_add_host(host);
|
|
ret = sdhci_add_host(host);
|
|
if (ret)
|
|
if (ret)
|
|
- goto err;
|
|
|
|
|
|
+ goto err_clk;
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+err_clk:
|
|
|
|
+ clk_disable_unprepare(pltfm_host->clk);
|
|
err:
|
|
err:
|
|
sdhci_pltfm_free(pdev);
|
|
sdhci_pltfm_free(pdev);
|
|
return ret;
|
|
return ret;
|