Commit 2358b776 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: max8997: Use simple equation to get selector

It's more efficient to get the best selector by simple equation.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 0fa310cc
...@@ -415,7 +415,7 @@ static inline int max8997_get_voltage_proper_val( ...@@ -415,7 +415,7 @@ static inline int max8997_get_voltage_proper_val(
const struct voltage_map_desc *desc, const struct voltage_map_desc *desc,
int min_vol, int max_vol) int min_vol, int max_vol)
{ {
int i = 0; int i;
if (desc == NULL) if (desc == NULL)
return -EINVAL; return -EINVAL;
...@@ -423,9 +423,10 @@ static inline int max8997_get_voltage_proper_val( ...@@ -423,9 +423,10 @@ static inline int max8997_get_voltage_proper_val(
if (max_vol < desc->min || min_vol > desc->max) if (max_vol < desc->min || min_vol > desc->max)
return -EINVAL; return -EINVAL;
while (desc->min + desc->step * i < min_vol && if (min_vol < desc->min)
desc->min + desc->step * i < desc->max) min_vol = desc->min;
i++;
i = DIV_ROUND_UP(min_vol - desc->min, desc->step);
if (desc->min + desc->step * i > max_vol) if (desc->min + desc->step * i > max_vol)
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