diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/regulator/palmas-regulator.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c index 864ed02ce4b7..f5f522c499ba 100644 --- a/drivers/regulator/palmas-regulator.c +++ b/drivers/regulator/palmas-regulator.c | |||
@@ -323,6 +323,10 @@ static int palmas_set_mode_smps(struct regulator_dev *dev, unsigned int mode) | |||
323 | if (rail_enable) | 323 | if (rail_enable) |
324 | palmas_smps_write(pmic->palmas, | 324 | palmas_smps_write(pmic->palmas, |
325 | palmas_regs_info[id].ctrl_addr, reg); | 325 | palmas_regs_info[id].ctrl_addr, reg); |
326 | |||
327 | /* Switch the enable value to ensure this is used for enable */ | ||
328 | pmic->desc[id].enable_val = pmic->current_reg_mode[id]; | ||
329 | |||
326 | return 0; | 330 | return 0; |
327 | } | 331 | } |
328 | 332 | ||
@@ -962,6 +966,14 @@ static int palmas_regulators_probe(struct platform_device *pdev) | |||
962 | return ret; | 966 | return ret; |
963 | pmic->current_reg_mode[id] = reg & | 967 | pmic->current_reg_mode[id] = reg & |
964 | PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; | 968 | PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; |
969 | |||
970 | pmic->desc[id].enable_reg = | ||
971 | PALMAS_BASE_TO_REG(PALMAS_LDO_BASE, | ||
972 | palmas_regs_info[id].ctrl_addr); | ||
973 | pmic->desc[id].enable_mask = | ||
974 | PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; | ||
975 | /* set_mode overrides this value */ | ||
976 | pmic->desc[id].enable_val = SMPS_CTRL_MODE_ON; | ||
965 | } | 977 | } |
966 | 978 | ||
967 | pmic->desc[id].type = REGULATOR_VOLTAGE; | 979 | pmic->desc[id].type = REGULATOR_VOLTAGE; |