Merge tag 'regulator-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
"Several driver specific fixes here, the palmas fixes being especially
important for a range of boards - the recent updates to support new
devices have introduced several regressions"

* tag 'regulator-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
regulator: tps65218: Correct the the config register for LDO1
regulator: tps65218: Add the missing of_node assignment in probe
regulator: palmas: fix typo in enable_reg calculation
regulator: bcm590xx: fix vbus name
regulator: palmas: Fix SMPS enable/disable/is_enabled

+5
drivers/regulator/bcm590xx-regulator.c
··· 119 119 2900000, 3000000, 3300000, 120 120 }; 121 121 122 + static const unsigned int ldo_vbus[] = { 123 + 5000000, 124 + }; 125 + 122 126 /* DCDC group CSR: supported voltages in microvolts */ 123 127 static const struct regulator_linear_range dcdc_csr_ranges[] = { 124 128 REGULATOR_LINEAR_RANGE(860000, 2, 50, 10000), ··· 196 192 BCM590XX_REG_TABLE(gpldo4, ldo_a_table), 197 193 BCM590XX_REG_TABLE(gpldo5, ldo_a_table), 198 194 BCM590XX_REG_TABLE(gpldo6, ldo_a_table), 195 + BCM590XX_REG_TABLE(vbus, ldo_vbus), 199 196 }; 200 197 201 198 struct bcm590xx_reg {
+12
drivers/regulator/palmas-regulator.c
··· 325 325 if (rail_enable) 326 326 palmas_smps_write(pmic->palmas, 327 327 palmas_regs_info[id].ctrl_addr, reg); 328 + 329 + /* Switch the enable value to ensure this is used for enable */ 330 + pmic->desc[id].enable_val = pmic->current_reg_mode[id]; 331 + 328 332 return 0; 329 333 } 330 334 ··· 968 964 return ret; 969 965 pmic->current_reg_mode[id] = reg & 970 966 PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; 967 + 968 + pmic->desc[id].enable_reg = 969 + PALMAS_BASE_TO_REG(PALMAS_SMPS_BASE, 970 + palmas_regs_info[id].ctrl_addr); 971 + pmic->desc[id].enable_mask = 972 + PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; 973 + /* set_mode overrides this value */ 974 + pmic->desc[id].enable_val = SMPS_CTRL_MODE_ON; 971 975 } 972 976 973 977 pmic->desc[id].type = REGULATOR_VOLTAGE;
+2 -1
drivers/regulator/tps65218-regulator.c
··· 209 209 1, -1, -1, TPS65218_REG_ENABLE1, 210 210 TPS65218_ENABLE1_DC6_EN, NULL, NULL, 0, 0), 211 211 TPS65218_REGULATOR("LDO1", TPS65218_LDO_1, tps65218_ldo1_dcdc34_ops, 64, 212 - TPS65218_REG_CONTROL_DCDC4, 212 + TPS65218_REG_CONTROL_LDO1, 213 213 TPS65218_CONTROL_LDO1_MASK, TPS65218_REG_ENABLE2, 214 214 TPS65218_ENABLE2_LDO1_EN, NULL, ldo1_dcdc3_ranges, 215 215 2, 0), ··· 240 240 config.init_data = init_data; 241 241 config.driver_data = tps; 242 242 config.regmap = tps->regmap; 243 + config.of_node = pdev->dev.of_node; 243 244 244 245 rdev = devm_regulator_register(&pdev->dev, &regulators[id], &config); 245 246 if (IS_ERR(rdev)) {