Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[deliverable/linux.git] / drivers / regulator / helpers.c
index 3bbb32680a94265069eac502d1d2b679e22fa673..b1e32e7482e92256c01541b1cdca95e05ebd097a 100644 (file)
@@ -465,3 +465,26 @@ int regulator_get_bypass_regmap(struct regulator_dev *rdev, bool *enable)
        return 0;
 }
 EXPORT_SYMBOL_GPL(regulator_get_bypass_regmap);
+
+/**
+ * regulator_set_active_discharge_regmap - Default set_active_discharge()
+ *                                        using regmap
+ *
+ * @rdev: device to operate on.
+ * @enable: state to set, 0 to disable and 1 to enable.
+ */
+int regulator_set_active_discharge_regmap(struct regulator_dev *rdev,
+                                         bool enable)
+{
+       unsigned int val;
+
+       if (enable)
+               val = rdev->desc->active_discharge_on;
+       else
+               val = rdev->desc->active_discharge_off;
+
+       return regmap_update_bits(rdev->regmap,
+                                 rdev->desc->active_discharge_reg,
+                                 rdev->desc->active_discharge_mask, val);
+}
+EXPORT_SYMBOL_GPL(regulator_set_active_discharge_regmap);
This page took 0.026279 seconds and 5 git commands to generate.