summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-03-30 08:26:09 -0700
committerMark Brown <broonie@kernel.org>2016-03-30 08:26:09 -0700
commit45fa2038cf7820ecfcca8793b81e656ca3caaf0f (patch)
tree76dcb0bb07a81b3a58b98d75c170e8d1a781bfb7
parentfa93fd4ecc9c58475abac6db93a797bff893bc16 (diff)
downloadlinux-45fa2038cf7820ecfcca8793b81e656ca3caaf0f.tar.bz2
regulator: of: Don't flag voltage change as possible for exact voltages
Flagging voltage changes as possible for exactly specified voltages appears to be triggering bugs in the SDHCI code (it should be able to handle the case where only one voltage it wants is in the range it is allowed to set) so make sure we only set the flag in cases where there's genuine variability. Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/regulator/of_regulator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/regulator/of_regulator.c b/drivers/regulator/of_regulator.c
index f45106a44635..cd828dbf9d52 100644
--- a/drivers/regulator/of_regulator.c
+++ b/drivers/regulator/of_regulator.c
@@ -43,10 +43,12 @@ static void of_get_regulation_constraints(struct device_node *np,
constraints->max_uV = pval;
/* Voltage change possible? */
- if (constraints->min_uV && constraints->max_uV) {
+ if (constraints->min_uV != constraints->max_uV)
constraints->valid_ops_mask |= REGULATOR_CHANGE_VOLTAGE;
+
+ /* Do we have a voltage range, if so try to apply it? */
+ if (constraints->min_uV && constraints->max_uV)
constraints->apply_uV = true;
- }
if (!of_property_read_u32(np, "regulator-microvolt-offset", &pval))
constraints->uV_offset = pval;