diff options
author | Mark Brown <broonie@linaro.org> | 2013-09-01 12:50:04 (GMT) |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-09-01 12:50:04 (GMT) |
commit | 28c37c9ce824c46db5891f6230c90bd0334f2cce (patch) | |
tree | 0098c1f4a2021a0deb512282a8c9b11cbabcc9d0 /include/linux | |
parent | d8dfad3876e4386666b759da3c833d62fb8b2267 (diff) | |
parent | 720c027303b91ea7320dc9da51b502633c9fece4 (diff) | |
download | linux-fsl-qoriq-28c37c9ce824c46db5891f6230c90bd0334f2cce.tar.xz |
Merge remote-tracking branch 'regulator/topic/88pm800' into regulator-next
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 6700cc9..67e13aa 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, |