[PATCH 2/5 RFC] mmc: sdhci-iproc: Actually enable the clock
Ulf Hansson
ulf.hansson at linaro.org
Wed Jan 27 06:16:10 PST 2016
On 17 January 2016 at 15:59, Stefan Wahren <stefan.wahren at i2se.com> wrote:
> The RPi firmware-based clocks driver can actually disable
> unused clocks, so when switching to use it we ended up losing
> our MMC clock once all devices were probed.
>
> This patch adopts the changes from 1e5a0a9a58e2 ("mmc: sdhci-bcm2835:
> Actually enable the clock") to sdhci-iproc.
>
> Signed-off-by: Stefan Wahren <stefan.wahren at i2se.com>
> ---
> drivers/mmc/host/sdhci-iproc.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
> index e22060a..55bc348 100644
> --- a/drivers/mmc/host/sdhci-iproc.c
> +++ b/drivers/mmc/host/sdhci-iproc.c
> @@ -207,6 +207,11 @@ static int sdhci_iproc_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;
> + }
>
> if (iproc_host->data->pdata->quirks & SDHCI_QUIRK_MISSING_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);
> if (ret)
> - goto err;
> + goto err_clk;
>
> return 0;
>
> +err_clk:
> + clk_disable_unprepare(pltfm_host->clk);
> err:
> sdhci_pltfm_free(pdev);
> return ret;
> --
> 1.7.9.5
>
There's a missing clk_disable_unprepare() from the ->remove()
callback. Otherwise this looks good.
Kind regards
Uffe
More information about the linux-rpi-kernel
mailing list