enable vmmc_aux regulator only if it is in disabled state and disable
vmmc_aux regulator only if it is in enabled state.

Signed-off-by: Kishon Vijay Abraham I <kis...@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 58bda42..001f8a0 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -258,7 +258,7 @@ static int omap_hsmmc_enable_supply(struct mmc_host *mmc, 
int vdd)
        }
 
        /* Enable interface voltage rail, if needed */
-       if (mmc->supply.vqmmc) {
+       if (mmc->supply.vqmmc && !regulator_is_enabled(mmc->supply.vqmmc)) {
                ret = regulator_enable(mmc->supply.vqmmc);
                if (ret) {
                        dev_err(mmc_dev(mmc), "vmmc_aux reg enable failed\n");
@@ -280,7 +280,7 @@ static int omap_hsmmc_disable_supply(struct mmc_host *mmc)
        int ret;
        int status;
 
-       if (mmc->supply.vqmmc) {
+       if (mmc->supply.vqmmc && regulator_is_enabled(mmc->supply.vqmmc)) {
                ret = regulator_disable(mmc->supply.vqmmc);
                if (ret) {
                        dev_err(mmc_dev(mmc), "vmmc_aux reg disable failed\n");
-- 
1.7.9.5

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

Reply via email to