mmc: renesas_sdhi: remove manual clk handling
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 19 May 2020 16:42:51 +0000 (18:42 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 28 May 2020 09:22:15 +0000 (11:22 +0200)
The SDHI driver en-/disabled its main clock on its own, e.g. during
probe() and remove(). Now, we leave all handling to RPM.

clk_summary before:
sd0                   1        1        0    12480000          0     0  50000
   sdif0              2        2        0    12480000          0     0  50000

clk_summary after:
sd0                   1        1        0    12480000          0     0  50000
   sdif0              1        1        0    12480000          0     0  50000

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20200519164251.5430-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/mmc/host/renesas_sdhi_core.c

index dcba9ad35dd192d218659352b575e7f8427f3242..15e21894bd44a84ffacd77d1c416e552ed0b99ec 100644 (file)
@@ -83,16 +83,11 @@ static int renesas_sdhi_clk_enable(struct tmio_mmc_host *host)
 {
        struct mmc_host *mmc = host->mmc;
        struct renesas_sdhi *priv = host_to_priv(host);
-       int ret = clk_prepare_enable(priv->clk);
-
-       if (ret < 0)
-               return ret;
+       int ret;
 
        ret = clk_prepare_enable(priv->clk_cd);
-       if (ret < 0) {
-               clk_disable_unprepare(priv->clk);
+       if (ret < 0)
                return ret;
-       }
 
        /*
         * The clock driver may not know what maximum frequency
@@ -198,7 +193,6 @@ static void renesas_sdhi_clk_disable(struct tmio_mmc_host *host)
 {
        struct renesas_sdhi *priv = host_to_priv(host);
 
-       clk_disable_unprepare(priv->clk);
        clk_disable_unprepare(priv->clk_cd);
 }