SMPS3 and SMPS7 do not have tstep_addr setting, so current code actually
writes 0 to smps12_ctl (offset is 0) register when set_ramp_delay callback
is called for SMPS3 and SMPS7.

Signed-off-by: Axel Lin <[email protected]>
---
 drivers/regulator/palmas-regulator.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/regulator/palmas-regulator.c 
b/drivers/regulator/palmas-regulator.c
index f26344e..b253bd4 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -438,6 +438,13 @@ static int palmas_smps_set_ramp_delay(struct regulator_dev 
*rdev,
        unsigned int addr = palmas_regs_info[id].tstep_addr;
        int ret;
 
+       /* SMPS3 and SMPS7 do not have tstep_addr setting */
+       switch (id) {
+       case PALMAS_REG_SMPS3:
+       case PALMAS_REG_SMPS7:
+               return 0;
+       }
+
        if (ramp_delay <= 0)
                reg = 0;
        else if (ramp_delay < 2500)
-- 
1.7.10.4



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

Reply via email to