diff options
Diffstat (limited to 'include/linux/regulator')
| -rw-r--r-- | include/linux/regulator/consumer.h | 2 | ||||
| -rw-r--r-- | include/linux/regulator/driver.h | 9 |
2 files changed, 11 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, | |||
| 142 | void regulator_bulk_free(int num_consumers, | 142 | void regulator_bulk_free(int num_consumers, |
| 143 | struct regulator_bulk_data *consumers); | 143 | struct regulator_bulk_data *consumers); |
| 144 | 144 | ||
| 145 | int regulator_count_voltages(struct regulator *regulator); | ||
| 146 | int regulator_list_voltage(struct regulator *regulator, unsigned selector); | ||
| 145 | int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV); | 147 | int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV); |
| 146 | int regulator_get_voltage(struct regulator *regulator); | 148 | int regulator_get_voltage(struct regulator *regulator); |
| 147 | int regulator_set_current_limit(struct regulator *regulator, | 149 | int regulator_set_current_limit(struct regulator *regulator, |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 0cf37bc85c41..2255468d456f 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
| @@ -45,6 +45,10 @@ enum regulator_status { | |||
| 45 | * @set_voltage: Set the voltage for the regulator within the range specified. | 45 | * @set_voltage: Set the voltage for the regulator within the range specified. |
| 46 | * The driver should select the voltage closest to min_uV. | 46 | * The driver should select the voltage closest to min_uV. |
| 47 | * @get_voltage: Return the currently configured voltage for the regulator. | 47 | * @get_voltage: Return the currently configured voltage for the regulator. |
| 48 | * @list_voltage: Return one of the supported voltages, in microvolts; zero | ||
| 49 | * if the selector indicates a voltage that is unusable on this system; | ||
| 50 | * or negative errno. Selectors range from zero to one less than | ||
| 51 | * regulator_desc.n_voltages. Voltages may be reported in any order. | ||
| 48 | * | 52 | * |
| 49 | * @set_current_limit: Configure a limit for a current-limited regulator. | 53 | * @set_current_limit: Configure a limit for a current-limited regulator. |
| 50 | * @get_current_limit: Get the limit for a current-limited regulator. | 54 | * @get_current_limit: Get the limit for a current-limited regulator. |
| @@ -66,6 +70,9 @@ enum regulator_status { | |||
| 66 | */ | 70 | */ |
| 67 | struct regulator_ops { | 71 | struct regulator_ops { |
| 68 | 72 | ||
| 73 | /* enumerate supported voltages */ | ||
| 74 | int (*list_voltage) (struct regulator_dev *, unsigned selector); | ||
| 75 | |||
| 69 | /* get/set regulator voltage */ | 76 | /* get/set regulator voltage */ |
| 70 | int (*set_voltage) (struct regulator_dev *, int min_uV, int max_uV); | 77 | int (*set_voltage) (struct regulator_dev *, int min_uV, int max_uV); |
| 71 | int (*get_voltage) (struct regulator_dev *); | 78 | int (*get_voltage) (struct regulator_dev *); |
| @@ -124,6 +131,7 @@ enum regulator_type { | |||
| 124 | * | 131 | * |
| 125 | * @name: Identifying name for the regulator. | 132 | * @name: Identifying name for the regulator. |
| 126 | * @id: Numerical identifier for the regulator. | 133 | * @id: Numerical identifier for the regulator. |
| 134 | * @n_voltages: Number of selectors available for ops.list_voltage(). | ||
| 127 | * @ops: Regulator operations table. | 135 | * @ops: Regulator operations table. |
| 128 | * @irq: Interrupt number for the regulator. | 136 | * @irq: Interrupt number for the regulator. |
| 129 | * @type: Indicates if the regulator is a voltage or current regulator. | 137 | * @type: Indicates if the regulator is a voltage or current regulator. |
| @@ -132,6 +140,7 @@ enum regulator_type { | |||
| 132 | struct regulator_desc { | 140 | struct regulator_desc { |
| 133 | const char *name; | 141 | const char *name; |
| 134 | int id; | 142 | int id; |
| 143 | unsigned n_voltages; | ||
| 135 | struct regulator_ops *ops; | 144 | struct regulator_ops *ops; |
| 136 | int irq; | 145 | int irq; |
| 137 | enum regulator_type type; | 146 | enum regulator_type type; |
