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


Groups > linux.kernel > #1466901

[PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints

From Chen-Yu Tsai <wens@csie.org>
Newsgroups linux.kernel
Subject [PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints
Date 2016-08-21 05:10 +0200
Message-ID <s8rj4-3iz-15@gated-at.bofh.it> (permalink)
References <s8rj4-3iz-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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@csie.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

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


Thread

[PATCH 3/9] regulator: core: Try full range when adjusting regulators to constraints Chen-Yu Tsai <wens@csie.org> - 2016-08-21 05:10 +0200
  Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Mark Brown <broonie@kernel.org> - 2016-08-22 18:40 +0200
  Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Mark Brown <broonie@kernel.org> - 2016-08-22 18:40 +0200
    Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Rask Ingemann Lambertsen <ccc94453@vip.cybercity.dk> - 2016-08-22 20:00 +0200
      Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Mark Brown <broonie@kernel.org> - 2016-08-22 20:20 +0200
        Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Chen-Yu Tsai <wens@csie.org> - 2016-08-23 06:20 +0200
          Re: [PATCH 3/9] regulator: core: Try full range when adjusting  regulators to constraints Mark Brown <broonie@kernel.org> - 2016-08-23 13:30 +0200

csiph-web