regulator: max8997/8966: fix charger cv voltage set bug
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Mon, 8 May 2017 05:45:44 +0000 (05:45 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 14 May 2017 09:39:31 +0000 (18:39 +0900)
When min charger-CV is <= 4.0V and max charger-CV is >= 4.0V,
we can use 4.00V as CV (register value = 0x1).`

The original code had a typo that wrote ">=" (max_uV >= 4000000),
which should've been "<", which is not necessary anyway
as mentioned by Dan Carpenter.

Reported-By: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/max8997-regulator.c

index efabc0ea0e966afd2ef9b7361dfef066f2a24542..559b9ac454043e06ce49b83db459ca8f64ecdd27 100644 (file)
@@ -428,12 +428,9 @@ static int max8997_set_voltage_charger_cv(struct regulator_dev *rdev,
        if (max_uV < 4000000 || min_uV > 4350000)
                return -EINVAL;
 
-       if (min_uV <= 4000000) {
-               if (max_uV >= 4000000)
-                       return -EINVAL;
-               else
-                       val = 0x1;
-       } else if (min_uV <= 4200000 && max_uV >= 4200000)
+       if (min_uV <= 4000000)
+               val = 0x1;
+       else if (min_uV <= 4200000 && max_uV >= 4200000)
                val = 0x0;
        else {
                lb = (min_uV - 4000001) / 20000 + 2;