aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKeerthy <j-keerthy@TI.COM>2015-03-17 06:26:05 -0400
committerMark Brown <broonie@kernel.org>2015-03-17 08:21:15 -0400
commite999c7289cf2e542e8be8bc72ba5dc0f8f06c88e (patch)
tree21523f6328103682ea5349f47068c0cb82031286 /drivers
parenta26aeb177d8c1c4df3e32f0a21e8dd5b45ab1fc1 (diff)
regulator: palmas: Add has_regen3 check for TPS659038
Palmas driver is used to cater to even TPS659038 but TPS659038 does not have REGEN3 resource. Adding another field in the driver data to check on that. Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/regulator/palmas-regulator.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
index 9518a76ad29e..8217613807d3 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -916,6 +916,9 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic,
916 (id == PALMAS_REG_LDO6)) 916 (id == PALMAS_REG_LDO6))
917 desc->enable_time = 2000; 917 desc->enable_time = 2000;
918 } else { 918 } else {
919 if (!ddata->has_regen3 && id == PALMAS_REG_REGEN3)
920 continue;
921
919 desc->n_voltages = 1; 922 desc->n_voltages = 1;
920 if (reg_init && reg_init->roof_floor) 923 if (reg_init && reg_init->roof_floor)
921 desc->ops = &palmas_ops_ext_control_extreg; 924 desc->ops = &palmas_ops_ext_control_extreg;
@@ -1398,6 +1401,7 @@ static struct palmas_pmic_driver_data palmas_ddata = {
1398 .ldo_begin = PALMAS_REG_LDO1, 1401 .ldo_begin = PALMAS_REG_LDO1,
1399 .ldo_end = PALMAS_REG_LDOUSB, 1402 .ldo_end = PALMAS_REG_LDOUSB,
1400 .max_reg = PALMAS_NUM_REGS, 1403 .max_reg = PALMAS_NUM_REGS,
1404 .has_regen3 = true,
1401 .palmas_regs_info = palmas_generic_regs_info, 1405 .palmas_regs_info = palmas_generic_regs_info,
1402 .palmas_matches = palmas_matches, 1406 .palmas_matches = palmas_matches,
1403 .sleep_req_info = palma_sleep_req_info, 1407 .sleep_req_info = palma_sleep_req_info,
@@ -1411,6 +1415,7 @@ static struct palmas_pmic_driver_data tps65917_ddata = {
1411 .ldo_begin = TPS65917_REG_LDO1, 1415 .ldo_begin = TPS65917_REG_LDO1,
1412 .ldo_end = TPS65917_REG_LDO5, 1416 .ldo_end = TPS65917_REG_LDO5,
1413 .max_reg = TPS65917_NUM_REGS, 1417 .max_reg = TPS65917_NUM_REGS,
1418 .has_regen3 = true,
1414 .palmas_regs_info = tps65917_regs_info, 1419 .palmas_regs_info = tps65917_regs_info,
1415 .palmas_matches = tps65917_matches, 1420 .palmas_matches = tps65917_matches,
1416 .sleep_req_info = tps65917_sleep_req_info, 1421 .sleep_req_info = tps65917_sleep_req_info,
@@ -1572,9 +1577,11 @@ static int palmas_regulators_probe(struct platform_device *pdev)
1572 if (!pmic) 1577 if (!pmic)
1573 return -ENOMEM; 1578 return -ENOMEM;
1574 1579
1575 if (of_device_is_compatible(node, "ti,tps659038-pmic")) 1580 if (of_device_is_compatible(node, "ti,tps659038-pmic")) {
1576 palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr = 1581 palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr =
1577 TPS659038_REGEN2_CTRL; 1582 TPS659038_REGEN2_CTRL;
1583 palmas_ddata.has_regen3 = false;
1584 }
1578 1585
1579 pmic->dev = &pdev->dev; 1586 pmic->dev = &pdev->dev;
1580 pmic->palmas = palmas; 1587 pmic->palmas = palmas;