From: Adrian Hunter Date: Mon, 15 Feb 2010 18:03:34 +0000 (-0800) Subject: omap_hsmmc: Ensure regulator enable / disable are paired X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6da20c89af64b75302399369a90b9d50c1a87665;p=deliverable%2Flinux.git omap_hsmmc: Ensure regulator enable / disable are paired Stop using 'regulator_is_enabled()' and just pair enables with disables so that the regulator reference counts can work correctly. Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren --- diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index cb94044f3fc4..d2fad587f371 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -296,11 +296,8 @@ static int omap_hsmmc_23_set_power(struct device *dev, int slot, int power_on, ret = mmc_regulator_set_ocr(host->vcc, 0); } } else { - if (host->vcc_aux) { - ret = regulator_is_enabled(host->vcc_aux); - if (ret > 0) - ret = regulator_disable(host->vcc_aux); - } + if (host->vcc_aux) + ret = regulator_disable(host->vcc_aux); if (ret == 0) ret = mmc_regulator_set_ocr(host->vcc, 0); } @@ -1975,7 +1972,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) host->slot_id = 0; host->mapbase = res->start; host->base = ioremap(host->mapbase, SZ_4K); - host->power_mode = -1; + host->power_mode = MMC_POWER_OFF; platform_set_drvdata(pdev, host); INIT_WORK(&host->mmc_carddetect_work, omap_hsmmc_detect);