From: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
To: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints
Date: Sun, 21 Aug 2016 10:11:19 +0800 [thread overview]
Message-ID: <20160821021125.1521-4-wens@csie.org> (raw)
In-Reply-To: <20160821021125.1521-1-wens-jdAy2FN1RRM@public.gmane.org>
Currently when we try to bring regulator in bounds of its constraints,
we pick either the minimum or maximum voltage as the target. This fails
if the regulator range is not continuous, and the target voltage is not
an exact value the regulator can achieve, i.e. the target is not aligned
to the step of the regulator.
Instead pass the full range of the constraints, and have the regulator
core work out a suitable voltage within.
Fixes: ("regulator: core: Ensure we are at least in bounds for our
constraints")
Signed-off-by: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
---
drivers/regulator/core.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index db320e8fa865..86f69c92ce7a 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -897,13 +897,9 @@ static int machine_constraints_voltage(struct regulator_dev *rdev,
target_min = current_uV;
target_max = current_uV;
- if (current_uV < rdev->constraints->min_uV) {
+ if (current_uV < rdev->constraints->min_uV ||
+ current_uV > rdev->constraints->max_uV) {
target_min = rdev->constraints->min_uV;
- target_max = rdev->constraints->min_uV;
- }
-
- if (current_uV > rdev->constraints->max_uV) {
- target_min = rdev->constraints->max_uV;
target_max = rdev->constraints->max_uV;
}
--
2.9.3
next prev parent reply other threads:[~2016-08-21 2:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-21 2:11 [PATCH 0/9] mfd: axp20x: Add support for AXP809 PMIC Chen-Yu Tsai
[not found] ` <20160821021125.1521-1-wens-jdAy2FN1RRM@public.gmane.org>
2016-08-21 2:11 ` [PATCH 1/9] mfd: axp20x: Add bindings for AXP806 PMIC Chen-Yu Tsai
[not found] ` <20160821021125.1521-2-wens-jdAy2FN1RRM@public.gmane.org>
2016-08-23 17:51 ` Rob Herring
2016-08-21 2:11 ` [PATCH 2/9] mfd: axp20x: Add support " Chen-Yu Tsai
[not found] ` <20160821021125.1521-3-wens-jdAy2FN1RRM@public.gmane.org>
2016-08-21 4:15 ` Julian Calaby
2016-08-21 2:11 ` Chen-Yu Tsai [this message]
[not found] ` <20160821021125.1521-4-wens-jdAy2FN1RRM@public.gmane.org>
2016-08-22 16:29 ` [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints Mark Brown
2016-08-22 17:52 ` Rask Ingemann Lambertsen
[not found] ` <20160822175205.h76hurjaopnosymc-1EA3ORoCGBhoJ7GROcy7lA@public.gmane.org>
2016-08-22 18:09 ` Mark Brown
[not found] ` <20160822180932.GW22076-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-08-23 4:17 ` Chen-Yu Tsai
[not found] ` <CAGb2v67ZST-E++z5oobLRwCfHMZZR6HTss=MSqJLJArnQz3qMw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-23 10:40 ` Mark Brown
2016-08-22 16:29 ` Mark Brown
2016-08-21 2:11 ` [PATCH 4/9] regulator: axp20x: support AXP806 variant Chen-Yu Tsai
[not found] ` <20160821021125.1521-5-wens-jdAy2FN1RRM@public.gmane.org>
2016-08-22 16:52 ` Mark Brown
2016-08-21 2:11 ` [PATCH 5/9] ARM: dts: sun9i: a80-optimus: Declare AXP809 SW regulator as unused Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 6/9] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 7/9] ARM: dts: sun9i: a80-optimus: Add AXP806 PMIC device node and regulators Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 8/9] ARM: dts: sun9i: cubieboard4: " Chen-Yu Tsai
2016-08-21 2:11 ` [PATCH 9/9] ARM: dts: sun9i: a80-optimus: Disable EHCI1 Chen-Yu Tsai
2016-08-21 6:51 ` [PATCH 0/9] mfd: axp20x: Add support for AXP809 PMIC Priit Laes
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=20160821021125.1521-4-wens@csie.org \
--to=wens-jday2fn1rrm@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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;
as well as URLs for NNTP newsgroup(s).