Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1207500

[PATCH] regulator: core: Define regulator_set_voltage_triplet()

From Viresh Kumar <viresh.kumar@linaro.org>
Newsgroups linux.kernel
Subject [PATCH] regulator: core: Define regulator_set_voltage_triplet()
Date 2015-08-14 14:10 +0200
Message-ID <pXlY5-1B0-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


The OPP (Operating performance points) v2 bindings allows regulator
voltage to be supplied as a triplet of <target min max> voltages.

Add regulator_set_voltage_triplet() API in regulator core to support
that.

This first tries to set a voltage between the target voltage and the
upper limit, then fall back on the full range. The idea behind this is
to set regulator's voltage as close to the target voltage, as possible.

Based on regulator_set_voltage_tol().

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
Hi Mark,

This is required for OPP-V2 bindings that we introduced recently, where
the voltage can be given as a triplet of <target min max>.

I don't have any dependency on this until the time I update regulator
support in OPP core and so sending it separately. You can take it
through your tree. Ofcourse, only if it looks fine :)

 include/linux/regulator/consumer.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index f8a689ed62a5..621e89315c55 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -552,6 +552,16 @@ static inline int regulator_count_voltages(struct regulator *regulator)
 }
 #endif
 
+static inline int regulator_set_voltage_triplet(struct regulator *regulator,
+						int target_uV, int min_uV,
+						int max_uV)
+{
+	if (!regulator_set_voltage(regulator, target_uV, max_uV))
+		return 0;
+
+	return regulator_set_voltage(regulator, min_uV, max_uV);
+}
+
 static inline int regulator_set_voltage_tol(struct regulator *regulator,
 					    int new_uV, int tol_uV)
 {
-- 
2.4.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] regulator: core: Define regulator_set_voltage_triplet() Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-14 14:10 +0200
  Re: [PATCH] regulator: core: Define regulator_set_voltage_triplet() Mark Brown <broonie@kernel.org> - 2015-08-15 04:20 +0200
    Re: [PATCH] regulator: core: Define regulator_set_voltage_triplet() Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-15 05:20 +0200
      Re: [PATCH] regulator: core: Define regulator_set_voltage_triplet() Mark Brown <broonie@kernel.org> - 2015-08-15 16:10 +0200
        Re: [PATCH] regulator: core: Define regulator_set_voltage_triplet() Viresh Kumar <viresh.kumar@linaro.org> - 2015-08-17 04:20 +0200

csiph-web