summaryrefslogtreecommitdiff
path: root/drivers/regulator/of_regulator.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-03-21 18:12:52 (GMT)
committerMark Brown <broonie@kernel.org>2016-03-27 09:02:43 (GMT)
commitfa93fd4ecc9c58475abac6db93a797bff893bc16 (patch)
treed9e5759ff3fae7576d8b7877c63e36b9aa3ebddb /drivers/regulator/of_regulator.c
parent895fe2321efaf62023fdd8239d1846394df68570 (diff)
downloadlinux-fa93fd4ecc9c58475abac6db93a797bff893bc16.tar.xz
regulator: core: Ensure we are at least in bounds for our constraints
Currently we only attempt to set the voltage during constraints application if an exact voltage is specified. Extend this so that if the currently set voltage for the regulator is outside the bounds set in constraints we will move the voltage to the nearest constraint, raising to the minimum or lowering to the maximum as needed. This ensures that drivers can probe without the hardware being driven out of spec. Reported-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Tested-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/of_regulator.c')
-rw-r--r--drivers/regulator/of_regulator.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/regulator/of_regulator.c b/drivers/regulator/of_regulator.c
index d2ddefa..f45106a 100644
--- a/drivers/regulator/of_regulator.c
+++ b/drivers/regulator/of_regulator.c
@@ -43,7 +43,7 @@ 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;
constraints->apply_uV = true;
}