[PATCH 1/1] mmc: sdhci-esdhc-imx: Use pinctrl PM helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Mirza Krak <mirza.krak@xxxxxxxxxxxxxxxx>

Add support for current states of pinctrl, which are "default", "idle"
and "sleep".

The "default" pinctrl state is set by Drivers core before
calling the driver's probe, hence we do not need a initial call to
"default" state.

Signed-off-by: Mirza Krak <mirza.krak@xxxxxxxxxxxxxxxx>
---
 drivers/mmc/host/sdhci-esdhc-imx.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 84b3365e4773..6d51a4f48361 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1129,6 +1129,8 @@ static int sdhci_esdhc_suspend(struct device *dev)
 	pm_runtime_mark_last_busy(dev);
 	pm_runtime_put_autosuspend(dev);
 
+	pinctrl_pm_select_sleep_state(dev);
+
 	return ret;
 }
 
@@ -1137,6 +1139,8 @@ static int sdhci_esdhc_resume(struct device *dev)
 	int ret;
 	struct sdhci_host *host = dev_get_drvdata(dev);
 
+	pinctrl_pm_select_default_state(dev);
+
 	pm_runtime_get_sync(dev);
 	ret = sdhci_resume_host(host);
 	pm_runtime_mark_last_busy(dev);
@@ -1160,6 +1164,8 @@ static int sdhci_esdhc_runtime_suspend(struct device *dev)
 	}
 	clk_disable_unprepare(imx_data->clk_ahb);
 
+	pinctrl_pm_select_idle_state(dev);
+
 	return ret;
 }
 
@@ -1169,6 +1175,8 @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 	struct pltfm_imx_data *imx_data = pltfm_host->priv;
 
+	pinctrl_pm_select_default_state(dev);
+
 	if (!sdhci_sdio_irq_enabled(host)) {
 		clk_prepare_enable(imx_data->clk_per);
 		clk_prepare_enable(imx_data->clk_ipg);
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux