mmc: mmci: Switch to mmc_regulator_set_vqmmc()
authorMarek Vasut <marex@denx.de>
Thu, 16 Apr 2020 16:36:49 +0000 (18:36 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 28 May 2020 09:20:58 +0000 (11:20 +0200)
commit3e09a81e166c0a5544832459be17561a6b231ac7
tree105f245b400de4727a14bdd753a5885302f59ece
parent17a0751e60b123ce1a266155abf72acd936b7ecc
mmc: mmci: Switch to mmc_regulator_set_vqmmc()

Instead of reimplementing the logic in mmc_regulator_set_vqmmc(), use the
mmc code function directly.

This also allows us to fix a related issue on STM32MP1, when a voltage
switch of 1.8V is done for the eMMC, but the current level is already set
to 1.8V. More precisely, in this scenario the call to the
->post_sig_volt_switch() hangs, indefinitely waiting for the voltage switch
to complete. Fix this problem by checking if mmc_regulator_set_vqmmc()
returned 1 and then skip invoking the callback.

Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20200416163649.336967-3-marex@denx.de
[Ulf: Updated the commit message]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/mmci.c