regulator: gpio-regulator: Fix finding of smallest value

A patch from »regulator: gpio-regulator: Fixes for problems that turned up with 3.5-rc1« in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Sun, 3 Jun 2012 18:16:01 +0200

Commit-Message

Commit 4dbd8f63f07a (regulator: gpio-regulator: Set the smallest voltage/current in the specified range) forgot to set the newly introduced best_val. Therefore it stayed always at INT_MAX thus breaking the setting of the voltage. Included is also an init value for target, as warnings about a possibly uninitialised target started appearing with this fix. Signed-off-by: Heiko Stuebner <heiko@...>

Patch-Comment

drivers/regulator/gpio-regulator.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)

Statistics

  • 4 lines added
  • 2 lines removed

Changes

---------------------- drivers/regulator/gpio-regulator.c ----------------------
index ebe2b5c..2c38bea 100644
@@ -104,13 +104,15 @@ static int gpio_regulator_set_value(struct regulator_dev *dev,
int min, int max)
{
struct gpio_regulator_data *data = rdev_get_drvdata(dev);
- int ptr, target, state, best_val = INT_MAX;
+ int ptr, target = 0, state, best_val = INT_MAX;
for (ptr = 0; ptr < data->nr_states; ptr++)
if (data->states[ptr].value < best_val &&
data->states[ptr].value >= min &&
- data->states[ptr].value <= max)
+ data->states[ptr].value <= max) {
target = data->states[ptr].gpios;
+ best_val = data->states[ptr].value;
+ }
if (best_val == INT_MAX)
return -EINVAL;
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...