summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2017-08-25 11:49:53 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2017-08-30 15:03:52 +0200
commitc34eda69ad4c8be618ee95627b3e9ea052cf2324 (patch)
treeeba0d0639e7bf1c5d4d964cb6d2f61422c57ac6a
parentclk: sunxi-ng: Provide a default reset hook (diff)
downloadlinux-c34eda69ad4c8be618ee95627b3e9ea052cf2324.tar.xz
linux-c34eda69ad4c8be618ee95627b3e9ea052cf2324.zip
mmc: sunxi: Reset the device at probe time
We might be into some troubles if the bootloader misconfigured the MMC controller. We currently only de-assert the reset line at probe time, which means that if the device was already out of reset, we're going to keep whatever state was set already. Switch to a reset instead of the deassert to have a device in a pristine state when we start operating. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/host/sunxi-mmc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index da5f46a14497..53c970fe0873 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -1242,7 +1242,7 @@ static int sunxi_mmc_resource_request(struct sunxi_mmc_host *host,
}
if (!IS_ERR(host->reset)) {
- ret = reset_control_deassert(host->reset);
+ ret = reset_control_reset(host->reset);
if (ret) {
dev_err(&pdev->dev, "reset err %d\n", ret);
goto error_disable_clk_sample;