Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: renesas_sdhi: remove manual clk handling

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>

authored by

Wolfram Sang and committed by
Ulf Hansson
d42c9fff 63fd8ef3

+2 -8
+2 -8
drivers/mmc/host/renesas_sdhi_core.c
··· 83 83 { 84 84 struct mmc_host *mmc = host->mmc; 85 85 struct renesas_sdhi *priv = host_to_priv(host); 86 - int ret = clk_prepare_enable(priv->clk); 87 - 88 - if (ret < 0) 89 - return ret; 86 + int ret; 90 87 91 88 ret = clk_prepare_enable(priv->clk_cd); 92 - if (ret < 0) { 93 - clk_disable_unprepare(priv->clk); 89 + if (ret < 0) 94 90 return ret; 95 - } 96 91 97 92 /* 98 93 * The clock driver may not know what maximum frequency ··· 193 198 { 194 199 struct renesas_sdhi *priv = host_to_priv(host); 195 200 196 - clk_disable_unprepare(priv->clk); 197 201 clk_disable_unprepare(priv->clk_cd); 198 202 } 199 203