public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Mark Brown <broonie@kernel.org>
Cc: linaro-kernel@lists.linaro.org, sboyd@codeaurora.org, nm@ti.com,
	Liam Girdwood <lgirdwood@gmail.com>,
	"open list:VOLTAGE AND CURRENT REGULATOR FRAMEWORK" 
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] regulator: core: Define regulator_set_voltage_triplet()
Date: Sat, 15 Aug 2015 08:41:49 +0530	[thread overview]
Message-ID: <20150815031149.GD1162@linux> (raw)
In-Reply-To: <20150814162506.GV10748@sirena.org.uk>

On 14-08-15, 17:25, Mark Brown wrote:
> On Fri, Aug 14, 2015 at 05:30:55PM +0530, Viresh Kumar wrote:
> 
> > The OPP (Operating performance points) v2 bindings allows regulator
> > voltage to be supplied as a triplet of <target min max> voltages.
> 
> Looking at this I really don't understand why you tried to get me to
> review this via an IRC pastebin instead of following the normal patch
> submission process.  Please don't do that, it's not at all helpful.  IRC
> can be useful for interactive discussions or things that are really
> urgent, not for normal upstream code review.

Okay.

> > +static inline int regulator_set_voltage_triplet(struct regulator *regulator,
> > +						int target_uV, int min_uV,
> > +						int max_uV)
> 
> This seems awkward, these things are normally written as min <= target
> <= max but this is target, min, max.

Hmm..

> >  static inline int regulator_set_voltage_tol(struct regulator *regulator,
> >  					    int new_uV, int tol_uV)
> >  {
> > -- 
> > 2.4.0
> 
> You've not added a stub for the new function.

This function will always be present as its not part of the #ifdef
CONFIG_REGULATOR region.

And so the stub isn't required.

Hopefully below version looks better ?

--------------------------------8<--------------------------------------
Message-Id: <3d0154d897bba396c5018cf3b3562871af4ca844.1439608146.git.viresh.kumar@linaro.org>
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Fri, 14 Aug 2015 15:06:10 +0530
Subject: [PATCH] regulator: core: Define regulator_set_voltage_triplet()

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>
---
 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..a6269c184b8c 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 min_uV, int target_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)
 {

  reply	other threads:[~2015-08-15  3:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 12:00 [PATCH] regulator: core: Define regulator_set_voltage_triplet() Viresh Kumar
2015-08-14 16:25 ` Mark Brown
2015-08-15  3:11   ` Viresh Kumar [this message]
2015-08-15 14:08     ` Mark Brown
2015-08-17  2:19       ` Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150815031149.GD1162@linux \
    --to=viresh.kumar@linaro.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=sboyd@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox