summaryrefslogtreecommitdiff
path: root/drivers/regulator/wm831x-isink.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2019-03-12 19:33:54 +0300
committerMark Brown <broonie@kernel.org>2019-03-13 18:13:30 +0300
commit45aa908d9b720f9fe44100fe099d6fd5ab9f12ab (patch)
treedb39b1fc81671f000a59df181041f497f07d4698 /drivers/regulator/wm831x-isink.c
parent8be64b6d87bd47d81753b60ddafe70102ebfd76b (diff)
downloadlinux-45aa908d9b720f9fe44100fe099d6fd5ab9f12ab.tar.xz
regulator: wm831x-isink: Select maximum current in specific range
.set_current_limit callback should select the current closest to max_uA. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/wm831x-isink.c')
-rw-r--r--drivers/regulator/wm831x-isink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/regulator/wm831x-isink.c b/drivers/regulator/wm831x-isink.c
index 11f351191dba..5611890a724b 100644
--- a/drivers/regulator/wm831x-isink.c
+++ b/drivers/regulator/wm831x-isink.c
@@ -99,7 +99,7 @@ static int wm831x_isink_set_current(struct regulator_dev *rdev,
struct wm831x *wm831x = isink->wm831x;
int ret, i;
- for (i = 0; i < ARRAY_SIZE(wm831x_isinkv_values); i++) {
+ for (i = ARRAY_SIZE(wm831x_isinkv_values) - 1; i >= 0; i--) {
int val = wm831x_isinkv_values[i];
if (min_uA <= val && val <= max_uA) {
ret = wm831x_set_bits(wm831x, isink->reg,