* [PATCH v2] mmc: renesas_sdhi: remove manual clk handling
@ 2020-05-19 16:42 Wolfram Sang
2020-05-20 11:35 ` Ulf Hansson
2020-05-20 17:55 ` Geert Uytterhoeven
0 siblings, 2 replies; 3+ messages in thread
From: Wolfram Sang @ 2020-05-19 16:42 UTC (permalink / raw)
To: linux-mmc; +Cc: linux-renesas-soc, Wolfram Sang, Geert Uytterhoeven
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>
---
Depends on mmc/next + "[PATCH 2/2] mmc: tmio: Make sure the PM domain is
'started' while probing" from Ulf
Changes since v1:
* reworded commit message
* don't remove the en-/disable calls themselves but only the clk_* calls
to the main clock
drivers/mmc/host/renesas_sdhi_core.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index dcba9ad35dd1..15e21894bd44 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -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);
}
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] mmc: renesas_sdhi: remove manual clk handling
2020-05-19 16:42 [PATCH v2] mmc: renesas_sdhi: remove manual clk handling Wolfram Sang
@ 2020-05-20 11:35 ` Ulf Hansson
2020-05-20 17:55 ` Geert Uytterhoeven
1 sibling, 0 replies; 3+ messages in thread
From: Ulf Hansson @ 2020-05-20 11:35 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-mmc, Linux-Renesas, Geert Uytterhoeven
On Tue, 19 May 2020 at 18:42, Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> 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>
Applied for next, thanks!
Kind regards
Uffe
> ---
>
> Depends on mmc/next + "[PATCH 2/2] mmc: tmio: Make sure the PM domain is
> 'started' while probing" from Ulf
>
> Changes since v1:
>
> * reworded commit message
> * don't remove the en-/disable calls themselves but only the clk_* calls
> to the main clock
>
>
> drivers/mmc/host/renesas_sdhi_core.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
> index dcba9ad35dd1..15e21894bd44 100644
> --- a/drivers/mmc/host/renesas_sdhi_core.c
> +++ b/drivers/mmc/host/renesas_sdhi_core.c
> @@ -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);
> }
>
> --
> 2.20.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] mmc: renesas_sdhi: remove manual clk handling
2020-05-19 16:42 [PATCH v2] mmc: renesas_sdhi: remove manual clk handling Wolfram Sang
2020-05-20 11:35 ` Ulf Hansson
@ 2020-05-20 17:55 ` Geert Uytterhoeven
1 sibling, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2020-05-20 17:55 UTC (permalink / raw)
To: Wolfram Sang; +Cc: Linux MMC List, Linux-Renesas, Geert Uytterhoeven
On Tue, May 19, 2020 at 6:42 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> 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>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-05-20 17:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 16:42 [PATCH v2] mmc: renesas_sdhi: remove manual clk handling Wolfram Sang
2020-05-20 11:35 ` Ulf Hansson
2020-05-20 17:55 ` Geert Uytterhoeven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.