diff options
Diffstat (limited to 'drivers/regulator/tps6524x-regulator.c')
| -rw-r--r-- | drivers/regulator/tps6524x-regulator.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/regulator/tps6524x-regulator.c b/drivers/regulator/tps6524x-regulator.c index 947ece933d9..058d2f2675e 100644 --- a/drivers/regulator/tps6524x-regulator.c +++ b/drivers/regulator/tps6524x-regulator.c @@ -502,15 +502,13 @@ static int set_current_limit(struct regulator_dev *rdev, int min_uA,  	if (info->n_ilimsels == 1)  		return -EINVAL; -	for (i = 0; i < info->n_ilimsels; i++) +	for (i = info->n_ilimsels - 1; i >= 0; i--) {  		if (min_uA <= info->ilimsels[i] &&  		    max_uA >= info->ilimsels[i]) -			break; - -	if (i >= info->n_ilimsels) -		return -EINVAL; +			return write_field(hw, &info->ilimsel, i); +	} -	return write_field(hw, &info->ilimsel, i); +	return -EINVAL;  }  static int get_current_limit(struct regulator_dev *rdev)  |