Messages in this thread Patch in this message | | | Subject | [PATCH 3/7] regulator: wm831x-isink: set_current_limit should select the maximum current in specific range | From | Axel Lin <> | Date | Wed, 08 Aug 2012 20:19:34 +0800 |
| |
Signed-off-by: Axel Lin <axel.lin@gmail.com> --- drivers/regulator/wm831x-isink.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/regulator/wm831x-isink.c b/drivers/regulator/wm831x-isink.c index 0d207c2..5dba339 100644 --- a/drivers/regulator/wm831x-isink.c +++ b/drivers/regulator/wm831x-isink.c @@ -97,14 +97,13 @@ static int wm831x_isink_set_current(struct regulator_dev *rdev, { struct wm831x_isink *isink = rdev_get_drvdata(rdev); struct wm831x *wm831x = isink->wm831x; - int ret, i; + int 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, - WM831X_CS1_ISEL_MASK, i); - return ret; + return wm831x_set_bits(wm831x, isink->reg, + WM831X_CS1_ISEL_MASK, i); } } -- 1.7.9.5
| |