Voltage change errors should not be fatal to mmc subsystem. Some
regulators don't support changing the supplied voltage values, while
they can still be used for enabling and disabling the supply. This fixes
the regresion that appeared in sdhci driver after commit ceb6143b -
erlier it worked fine with fixed gpio-based regulator.

Signed-off-by: Marek Szyprowski <[email protected]>
Signed-off-by: Kyungmin Park <[email protected]>
---
 drivers/mmc/core/core.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index f545a3e..8726ae4 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1128,6 +1128,12 @@ int mmc_regulator_set_ocr(struct mmc_host *mmc,
                else
                        result = 0;
 
+               /* Some regulators don't support voltage changes, so
+                * assume that board designer used correct values
+                */ 
+               if (result == -EINVAL)
+                       result = 0;
+
                if (result == 0 && !mmc->regulator_enabled) {
                        result = regulator_enable(supply);
                        if (!result)
-- 
1.7.1.569.g6f426

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

Reply via email to