Messages in this thread | | | Subject | RE: [PATCH 2/2] regulator: tps65217: Fix voltage boundary checking in tps65217_pmic_map_voltage | From | Axel Lin <> | Date | Tue, 03 Jul 2012 15:09:45 +0800 |
| |
> 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
| |