diff options
Diffstat (limited to 'drivers/regulator/max77663-regulator.c')
-rw-r--r-- | drivers/regulator/max77663-regulator.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/regulator/max77663-regulator.c b/drivers/regulator/max77663-regulator.c index dca8ece4c433..55d2526b4490 100644 --- a/drivers/regulator/max77663-regulator.c +++ b/drivers/regulator/max77663-regulator.c @@ -280,7 +280,7 @@ static int max77663_regulator_set_fps(struct max77663_regulator *reg) fps_mask |= FPS_PD_PERIOD_MASK; } - if (fps_val) + if (fps_val || fps_mask) ret = max77663_regulator_cache_write(reg, reg->regs[FPS_REG].addr, fps_mask, fps_val, ®->regs[FPS_REG].val); @@ -704,15 +704,13 @@ skip_init_apply: val |= (SD_SR_100 << SD_SR_SHIFT); } - if (pdata->flags & SD_FORCED_PWM_MODE) { - mask |= SD_FPWM_MASK; + mask |= SD_FPWM_MASK; + if (pdata->flags & SD_FORCED_PWM_MODE) val |= SD_FPWM_MASK; - } - if (pdata->flags & SD_FSRADE_DISABLE) { - mask |= SD_FSRADE_MASK; + mask |= SD_FSRADE_MASK; + if (pdata->flags & SD_FSRADE_DISABLE) val |= SD_FSRADE_MASK; - } ret = max77663_regulator_cache_write(reg, reg->regs[CFG_REG].addr, mask, val, |