RE: [PATCH 2/2] regulator: tps65217: Fix voltage boundary checkingin tps65217_pmic_map_voltage

From: Axel Lin
Date: Tue Jul 03 2012 - 03:10:02 EST



> In side tps65217_pmic_map_voltage() we have
>
> tps->info[rid]->uv_to_vsel(850000, &sel) nothing but
> tps65217_uv_to_vsel1(850000, &sel);
>
> sel = (((850000 - 900000) + (25000) - 1) / (25000));
> sel = ((-25001)/(25000));
> sel = -1; /* Which is not expected */
>
> Ideally this would be the change
>
> if (min_uV < tps->info[rid]->min_uV)
> min_uV = tps->info[rid]->min_uV;
>
ok. I got your point now.

So if min_uV < tps->info[rid]->min_uV, we need to set
min_uV = tps->info[rid]->min_uV.
This is because the equation we used in uv_to_vsel() does not allow
min_uV < tps->info[rid]->min_uV, otherwise it returns negative selector.


> if (max_uV > tps->info[rid]->max_uV)
> max_uV = tps->info[rid]->max_uV;

This looks not necessary. the equation in uv_to_vsel() does not use
max_uV.

>
> if (max_uV < tps->info[rid]->min_uV ||
> min_uV > tps->info[rid]->max_uV)
> return -EINVAL;
>
> If this is not the case then I am completely in a wrong direction.
You are right in this case. I'll send a v2 for review.

Thanks for the review,
Axel


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/