diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-03-27 03:18:53 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-03-28 07:44:07 -0400 |
commit | ed3be9a0e3c1050fe07d69a8c600d86cac76cdc4 (patch) | |
tree | 0c505e677af6570402c1a7ab067f571dba415c74 /drivers/regulator | |
parent | a171e782a97d4ba55d7fa02f9a46904288b2c229 (diff) |
regulator: wm831x-isink: Fix the logic to choose best current limit setting
Current code in wm831x_isink_set_current actually set the current limit setting
smaller than specified range.
Fix the logic in wm831x_isink_set_current to choose the smallest current limit
setting falls within the specified range.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/wm831x-isink.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/regulator/wm831x-isink.c b/drivers/regulator/wm831x-isink.c index 634aac3f2d5f..b414e09c5620 100644 --- a/drivers/regulator/wm831x-isink.c +++ b/drivers/regulator/wm831x-isink.c | |||
@@ -101,7 +101,7 @@ static int wm831x_isink_set_current(struct regulator_dev *rdev, | |||
101 | 101 | ||
102 | for (i = 0; i < ARRAY_SIZE(wm831x_isinkv_values); i++) { | 102 | for (i = 0; i < ARRAY_SIZE(wm831x_isinkv_values); i++) { |
103 | int val = wm831x_isinkv_values[i]; | 103 | int val = wm831x_isinkv_values[i]; |
104 | if (min_uA >= val && val <= max_uA) { | 104 | if (min_uA <= val && val <= max_uA) { |
105 | ret = wm831x_set_bits(wm831x, isink->reg, | 105 | ret = wm831x_set_bits(wm831x, isink->reg, |
106 | WM831X_CS1_ISEL_MASK, i); | 106 | WM831X_CS1_ISEL_MASK, i); |
107 | return ret; | 107 | return ret; |