OSDN Git Service

regulator: tps65218.c: fix LS3 issues
authorChristian Hohnstaedt <Christian.Hohnstaedt@wago.com>
Wed, 20 Feb 2019 08:15:50 +0000 (09:15 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 20 Feb 2019 16:45:48 +0000 (16:45 +0000)
- Fix list of valid LS3 currents from mA to µA
- Fix selection of min/max microAmps of LS3.
  Selecting one of the configured values as max value now really
  selects it instead of the next lower one

Signed-off-by: Christian Hohnstaedt <Christian.Hohnstaedt@wago.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/tps65218-regulator.c

index 6209bee..5dd559e 100644 (file)
@@ -188,7 +188,8 @@ static struct regulator_ops tps65218_ldo1_dcdc34_ops = {
        .set_suspend_disable    = tps65218_pmic_set_suspend_disable,
 };
 
-static const int ls3_currents[] = { 100, 200, 500, 1000 };
+static const int ls3_currents[] = { 100000, 200000, 500000, 1000000 };
+
 
 static int tps65218_pmic_set_input_current_lim(struct regulator_dev *dev,
                                               int lim_uA)
@@ -214,7 +215,7 @@ static int tps65218_pmic_set_current_limit(struct regulator_dev *dev,
        unsigned int num_currents = ARRAY_SIZE(ls3_currents);
        struct tps65218 *tps = rdev_get_drvdata(dev);
 
-       while (index < num_currents && ls3_currents[index] < max_uA)
+       while (index < num_currents && ls3_currents[index] <= max_uA)
                index++;
 
        index--;