lkml.org 
[lkml]   [2012]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH v2] regulator: tps65217: Fix voltage boundary checking in tps65217_pmic_map_voltage
    From
    Date
    It is ok to request voltage with min_uV < tps->info[rid]->min_uV and
    max_uV > tps->info[rid]->max_uV.

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

    Signed-off-by: Axel Lin <axel.lin@gmail.com>
    ---
    drivers/regulator/tps65217-regulator.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/regulator/tps65217-regulator.c b/drivers/regulator/tps65217-regulator.c
    index 0a3df5b..f7d0495 100644
    --- a/drivers/regulator/tps65217-regulator.c
    +++ b/drivers/regulator/tps65217-regulator.c
    @@ -206,10 +206,10 @@ static int tps65217_pmic_map_voltage(struct regulator_dev *dev,
    if (rid < TPS65217_DCDC_1 || rid > TPS65217_LDO_4)
    return -EINVAL;

    - if (min_uV < tps->info[rid]->min_uV || min_uV > tps->info[rid]->max_uV)
    - return -EINVAL;
    + if (min_uV < tps->info[rid]->min_uV)
    + min_uV = tps->info[rid]->min_uV;

    - if (max_uV < tps->info[rid]->min_uV || max_uV > tps->info[rid]->max_uV)
    + if (max_uV < tps->info[rid]->min_uV || min_uV > tps->info[rid]->max_uV)
    return -EINVAL;

    ret = tps->info[rid]->uv_to_vsel(min_uV, &sel);
    --
    1.7.9.5




    \
     
     \ /
      Last update: 2012-07-03 10:01    [W:0.051 / U:34.220 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site