regulator: max8997: Use simple equation to get selector

It's more efficient to get the best selector by simple equation.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Axel Lin 2012-04-10 14:20:03 +08:00 committed by Mark Brown
parent 0fa310ccab
commit 2358b7763e

View File

@ -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(
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;