]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
regulator: core: add regulator_list_voltage_unlocked
authorPeter De Schrijver <pdeschrijver@nvidia.com>
Fri, 23 Sep 2016 10:49:53 +0000 (13:49 +0300)
committermobile promotions <svcmobile_promotions@nvidia.com>
Wed, 28 Sep 2016 18:22:39 +0000 (11:22 -0700)
The tegra dfll clock uses regulator_list_voltage to setup the LUT during init
when blocking calls are not permitted.  Therefor we need a
regulator_list_voltage_unlocked version.

Change-Id: I0a6ec5335c53618d4f964f7f258ae6301f414460
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/1226164
GVS: Gerrit_Virtual_Submit
Reviewed-by: Shreshtha Sahu <ssahu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
drivers/regulator/core.c
include/linux/regulator/consumer.h

index 02b728c0137fd5eb32998a22e8f9be60c91daba4..86741bca8ce850d74e611b16cf85b14ebd088841 100644 (file)
@@ -2668,6 +2668,13 @@ int regulator_list_voltage(struct regulator *regulator, unsigned selector)
 }
 EXPORT_SYMBOL_GPL(regulator_list_voltage);
 
+int regulator_list_voltage_unlocked(struct regulator *regulator,
+                                   unsigned selector)
+{
+       return _regulator_list_voltage(regulator, selector, 0);
+}
+EXPORT_SYMBOL_GPL(regulator_list_voltage_unlocked);
+
 /**
  * regulator_get_regmap - get the regulator's register map
  * @regulator: regulator source
index b0fad37c42a39203a5c2f5355ae050bc82636538..15aed27c3760adc0ce7d5d8b2444e00fd32e48f6 100644 (file)
@@ -232,6 +232,8 @@ void regulator_bulk_free(int num_consumers,
 int regulator_can_change_voltage(struct regulator *regulator);
 int regulator_count_voltages(struct regulator *regulator);
 int regulator_list_voltage(struct regulator *regulator, unsigned selector);
+int regulator_list_voltage_unlocked(struct regulator *regulator,
+                                   unsigned selector);
 int regulator_is_supported_voltage(struct regulator *regulator,
                                   int min_uV, int max_uV);
 unsigned int regulator_get_linear_step(struct regulator *regulator);
@@ -578,6 +580,12 @@ static inline int regulator_list_voltage(struct regulator *regulator, unsigned s
        return -EINVAL;
 }
 
+static inline int regulator_list_voltage_unlocked(struct regulator *regulator,
+                                                 unsigned selector)
+{
+       return -EINVAL;
+}
+
 #endif
 
 static inline int regulator_set_voltage_triplet(struct regulator *regulator,