diff options
Diffstat (limited to 'drivers/regulator/lp872x.c')
-rw-r--r-- | drivers/regulator/lp872x.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/regulator/lp872x.c b/drivers/regulator/lp872x.c index b16a941c1a62..86485e823f05 100644 --- a/drivers/regulator/lp872x.c +++ b/drivers/regulator/lp872x.c | |||
@@ -273,9 +273,9 @@ static int lp872x_regulator_enable_time(struct regulator_dev *rdev) | |||
273 | return val > MAX_DELAY ? 0 : val * time_step_us; | 273 | return val > MAX_DELAY ? 0 : val * time_step_us; |
274 | } | 274 | } |
275 | 275 | ||
276 | static void lp872x_set_dvs(struct lp872x *lp, int gpio) | 276 | static void lp872x_set_dvs(struct lp872x *lp, enum lp872x_dvs_sel dvs_sel, |
277 | int gpio) | ||
277 | { | 278 | { |
278 | enum lp872x_dvs_sel dvs_sel = lp->pdata->dvs->vsel; | ||
279 | enum lp872x_dvs_state state; | 279 | enum lp872x_dvs_state state; |
280 | 280 | ||
281 | state = dvs_sel == SEL_V1 ? DVS_HIGH : DVS_LOW; | 281 | state = dvs_sel == SEL_V1 ? DVS_HIGH : DVS_LOW; |
@@ -343,10 +343,10 @@ static int lp872x_buck_set_voltage_sel(struct regulator_dev *rdev, | |||
343 | struct lp872x *lp = rdev_get_drvdata(rdev); | 343 | struct lp872x *lp = rdev_get_drvdata(rdev); |
344 | enum lp872x_regulator_id buck = rdev_get_id(rdev); | 344 | enum lp872x_regulator_id buck = rdev_get_id(rdev); |
345 | u8 addr, mask = LP872X_VOUT_M; | 345 | u8 addr, mask = LP872X_VOUT_M; |
346 | struct lp872x_dvs *dvs = lp->pdata->dvs; | 346 | struct lp872x_dvs *dvs = lp->pdata ? lp->pdata->dvs : NULL; |
347 | 347 | ||
348 | if (dvs && gpio_is_valid(dvs->gpio)) | 348 | if (dvs && gpio_is_valid(dvs->gpio)) |
349 | lp872x_set_dvs(lp, dvs->gpio); | 349 | lp872x_set_dvs(lp, dvs->vsel, dvs->gpio); |
350 | 350 | ||
351 | addr = lp872x_select_buck_vout_addr(lp, buck); | 351 | addr = lp872x_select_buck_vout_addr(lp, buck); |
352 | if (!lp872x_is_valid_buck_addr(addr)) | 352 | if (!lp872x_is_valid_buck_addr(addr)) |