.set_current_limit callback should select the current closest to max_uA.

Signed-off-by: Axel Lin <axel....@ingics.com>
---
 drivers/regulator/wm8350-regulator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/wm8350-regulator.c 
b/drivers/regulator/wm8350-regulator.c
index a1c7dfee5c37..d1758a2bc769 100644
--- a/drivers/regulator/wm8350-regulator.c
+++ b/drivers/regulator/wm8350-regulator.c
@@ -99,7 +99,7 @@ static int get_isink_val(int min_uA, int max_uA, u16 *setting)
 {
        int i;
 
-       for (i = 0; i < ARRAY_SIZE(isink_cur); i++) {
+       for (i = ARRAY_SIZE(isink_cur) - 1; i >= 0; i--) {
                if (min_uA <= isink_cur[i] && max_uA >= isink_cur[i]) {
                        *setting = i;
                        return 0;
-- 
2.17.1

Reply via email to