rockchip: dvfs: switch regulator mode dynamically as rate changes
[firefly-linux-kernel-4.4.55.git] / include / linux / regulator / consumer.h
index 145022a830857a5af55d63562c9da980eb2498f9..3a8d78abd2056700602cb0785f1057acde1fd624 100644 (file)
@@ -137,9 +137,18 @@ struct regulator *__must_check devm_regulator_get(struct device *dev,
                                             const char *id);
 struct regulator *__must_check regulator_get_exclusive(struct device *dev,
                                                       const char *id);
+struct regulator *__must_check devm_regulator_get_exclusive(struct device *dev,
+                            const char *id);
+struct regulator *__must_check regulator_get_optional(struct device *dev,
+                              const char *id);
+struct regulator *__must_check devm_regulator_get_optional(struct device *dev,
+                               const char *id);
+
 void regulator_put(struct regulator *regulator);
 void devm_regulator_put(struct regulator *regulator);
 
+
+
 /* regulator output control and status */
 int __must_check regulator_enable(struct regulator *regulator);
 int regulator_disable(struct regulator *regulator);
@@ -174,6 +183,7 @@ int regulator_set_current_limit(struct regulator *regulator,
                               int min_uA, int max_uA);
 int regulator_get_current_limit(struct regulator *regulator);
 
+int regulator_is_supported_mode(struct regulator *regulator, int *mode);
 int regulator_set_mode(struct regulator *regulator, unsigned int mode);
 unsigned int regulator_get_mode(struct regulator *regulator);
 int regulator_set_optimum_mode(struct regulator *regulator, int load_uA);