summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/mmc/host/sdhci-bcm2835.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/mmc/host/sdhci-bcm2835.c')
-rw-r--r--kernel/drivers/mmc/host/sdhci-bcm2835.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/drivers/mmc/host/sdhci-bcm2835.c b/kernel/drivers/mmc/host/sdhci-bcm2835.c
index 0ef0343c6..1c65d4690 100644
--- a/kernel/drivers/mmc/host/sdhci-bcm2835.c
+++ b/kernel/drivers/mmc/host/sdhci-bcm2835.c
@@ -172,9 +172,19 @@ static int bcm2835_sdhci_probe(struct platform_device *pdev)
ret = PTR_ERR(pltfm_host->clk);
goto err;
}
+ ret = clk_prepare_enable(pltfm_host->clk);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to enable host clk\n");
+ goto err;
+ }
- return sdhci_add_host(host);
+ ret = sdhci_add_host(host);
+ if (ret)
+ goto err_clk;
+ return 0;
+err_clk:
+ clk_disable_unprepare(pltfm_host->clk);
err:
sdhci_pltfm_free(pdev);
return ret;