diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-02-26 11:48:36 -0800 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2009-03-31 09:56:24 +0100 |
commit | 4367cfdc7c657ad8a797f51b9ffd3c64b31910e7 (patch) | |
tree | b5ddefa9b0de91e58666be25e11cc805bf8c88d8 /include/linux/regulator/consumer.h | |
parent | 33f301af0c56971e3c0f4a4eb4b92f7e80230f49 (diff) | |
download | lwn-4367cfdc7c657ad8a797f51b9ffd3c64b31910e7.tar.gz lwn-4367cfdc7c657ad8a797f51b9ffd3c64b31910e7.zip |
regulator: enumerate voltages (v2)
Add a basic mechanism for regulators to report the discrete
voltages they support: list_voltage() enumerates them using
selectors numbered from 0 to an upper bound.
Use those methods to force machine-level constraints into bounds.
(Example: regulator supports 1.8V, 2.4V, 2.6V, 3.3V, and board
constraints for that rail are 2.0V to 3.6V ... so the range of
voltages is then 2.4V to 3.3V on this board.)
Export those voltages to the regulator consumer interface, so for
example regulator hooked up to an MMC/SD/SDIO slot can report the
actual voltage options available to cards connected there.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'include/linux/regulator/consumer.h')
-rw-r--r-- | include/linux/regulator/consumer.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index df6c4bcf38f8..277f4b964df5 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h @@ -142,6 +142,8 @@ int regulator_bulk_disable(int num_consumers, void regulator_bulk_free(int num_consumers, struct regulator_bulk_data *consumers); +int regulator_count_voltages(struct regulator *regulator); +int regulator_list_voltage(struct regulator *regulator, unsigned selector); int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV); int regulator_get_voltage(struct regulator *regulator); int regulator_set_current_limit(struct regulator *regulator, |