mmc: tmio: Make sure the PM domain is 'started' while probing
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 May 2020 15:24:45 +0000 (17:24 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 28 May 2020 09:22:15 +0000 (11:22 +0200)
commit63fd8ef3947c1f61897841748d196b8687b03cdd
treebeea7b9181fb4a48c4ef2ca7cefd684841a39303
parent4bd784411aca022622e484eb262f5a0540ae732c
mmc: tmio: Make sure the PM domain is 'started' while probing

If the tmio device is attached to a genpd (PM domain), that genpd may have
->start|stop() callback assigned to it. To make sure the device is
accessible during ->probe(), genpd's ->start() callback must be invoked,
which is currently managed by tmio_mmc_host_probe(). However, it's likely
that may be too late for some cases, as registers may be read and written
way before that point.

To fix the behaviour, let's move the call to dev_pm_domain_start() from
tmio_mmc_host_probe() into those clients that needs it. From discussions at
linux-mmc mailing list, it turned out that it should be sufficient to do
this for the SDHI renesas variants, hence the call is move to
renesas_sdhi_probe().

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