aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/core.c5
-rw-r--r--include/linux/regulator/driver.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 5c4829cba6a6..f7c74db7465c 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1979,6 +1979,11 @@ int regulator_is_supported_voltage(struct regulator *regulator,
1979 return ret; 1979 return ret;
1980 } 1980 }
1981 1981
1982 /* Any voltage within constrains range is fine? */
1983 if (rdev->desc->continuous_voltage_range)
1984 return min_uV >= rdev->constraints->min_uV &&
1985 max_uV <= rdev->constraints->max_uV;
1986
1982 ret = regulator_count_voltages(regulator); 1987 ret = regulator_count_voltages(regulator);
1983 if (ret < 0) 1988 if (ret < 0)
1984 return ret; 1989 return ret;
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h
index 7932a3bf21bd..f2b72b230b9b 100644
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -181,6 +181,8 @@ enum regulator_type {
181 * @type: Indicates if the regulator is a voltage or current regulator. 181 * @type: Indicates if the regulator is a voltage or current regulator.
182 * @owner: Module providing the regulator, used for refcounting. 182 * @owner: Module providing the regulator, used for refcounting.
183 * 183 *
184 * @continuous_voltage_range: Indicates if the regulator can set any
185 * voltage within constrains range.
184 * @n_voltages: Number of selectors available for ops.list_voltage(). 186 * @n_voltages: Number of selectors available for ops.list_voltage().
185 * 187 *
186 * @min_uV: Voltage given by the lowest selector (if linear mapping) 188 * @min_uV: Voltage given by the lowest selector (if linear mapping)
@@ -199,6 +201,7 @@ struct regulator_desc {
199 const char *name; 201 const char *name;
200 const char *supply_name; 202 const char *supply_name;
201 int id; 203 int id;
204 bool continuous_voltage_range;
202 unsigned n_voltages; 205 unsigned n_voltages;
203 struct regulator_ops *ops; 206 struct regulator_ops *ops;
204 int irq; 207 int irq;