Commit 8148ed6e authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: ad5398: Use DIV_ROUND_UP macro to calculate selector

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarSonic Zhang <sonic.zhang@analog.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent b21bcd1a
...@@ -94,8 +94,8 @@ static int ad5398_set_current_limit(struct regulator_dev *rdev, int min_uA, int ...@@ -94,8 +94,8 @@ static int ad5398_set_current_limit(struct regulator_dev *rdev, int min_uA, int
if (max_uA > chip->max_uA || max_uA < chip->min_uA) if (max_uA > chip->max_uA || max_uA < chip->min_uA)
return -EINVAL; return -EINVAL;
selector = ((min_uA - chip->min_uA) * chip->current_level + selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,
range_uA - 1) / range_uA; range_uA);
if (ad5398_calc_current(chip, selector) > max_uA) if (ad5398_calc_current(chip, selector) > max_uA)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment