diff options
| author | Mark Brown <broonie@linaro.org> | 2013-08-07 11:05:04 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2013-08-07 11:05:04 +0100 |
| commit | eca2a654b8e9b45680f75f77b716b483f1ecffce (patch) | |
| tree | 4a5d3f9f4a552160b7f2b4ddcf3e5144c5251de6 /include/linux | |
| parent | 587cea27e4feee7365b22935b3e19e1e8906e9cb (diff) | |
| parent | 550bf89366e068cd6e29c36156f700a02dbb6388 (diff) | |
Merge remote-tracking branch 'regulator/topic/linear-range' into regulator-helpers
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/regulator/driver.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 6700cc94bdd1..67e13aa5a478 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h @@ -40,6 +40,24 @@ enum regulator_status { }; /** + * Specify a range of voltages for regulator_map_linar_range() and + * regulator_list_linear_range(). + * + * @min_uV: Lowest voltage in range + * @max_uV: Highest voltage in range + * @min_sel: Lowest selector for range + * @max_sel: Highest selector for range + * @uV_step: Step size + */ +struct regulator_linear_range { + unsigned int min_uV; + unsigned int max_uV; + unsigned int min_sel; + unsigned int max_sel; + unsigned int uV_step; +}; + +/** * struct regulator_ops - regulator operations. * * @enable: Configure the regulator as enabled. @@ -223,6 +241,9 @@ struct regulator_desc { unsigned int linear_min_sel; unsigned int ramp_delay; + const struct regulator_linear_range *linear_ranges; + int n_linear_ranges; + const unsigned int *volt_table; unsigned int vsel_reg; @@ -326,10 +347,14 @@ int regulator_mode_to_status(unsigned int); int regulator_list_voltage_linear(struct regulator_dev *rdev, unsigned int selector); +int regulator_list_voltage_linear_range(struct regulator_dev *rdev, + unsigned int selector); int regulator_list_voltage_table(struct regulator_dev *rdev, unsigned int selector); int regulator_map_voltage_linear(struct regulator_dev *rdev, int min_uV, int max_uV); +int regulator_map_voltage_linear_range(struct regulator_dev *rdev, + int min_uV, int max_uV); int regulator_map_voltage_iterate(struct regulator_dev *rdev, int min_uV, int max_uV); int regulator_map_voltage_ascend(struct regulator_dev *rdev, |
