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>
This commit is contained in:
Keerthy 2015-03-17 15:56:05 +05:30 коммит произвёл Mark Brown
Родитель a26aeb177d
Коммит e999c7289c
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -916,6 +916,9 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic,
(id == PALMAS_REG_LDO6)) (id == PALMAS_REG_LDO6))
desc->enable_time = 2000; desc->enable_time = 2000;
} else { } else {
if (!ddata->has_regen3 && id == PALMAS_REG_REGEN3)
continue;
desc->n_voltages = 1; desc->n_voltages = 1;
if (reg_init && reg_init->roof_floor) if (reg_init && reg_init->roof_floor)
desc->ops = &palmas_ops_ext_control_extreg; desc->ops = &palmas_ops_ext_control_extreg;
@ -1398,6 +1401,7 @@ static struct palmas_pmic_driver_data palmas_ddata = {
.ldo_begin = PALMAS_REG_LDO1, .ldo_begin = PALMAS_REG_LDO1,
.ldo_end = PALMAS_REG_LDOUSB, .ldo_end = PALMAS_REG_LDOUSB,
.max_reg = PALMAS_NUM_REGS, .max_reg = PALMAS_NUM_REGS,
.has_regen3 = true,
.palmas_regs_info = palmas_generic_regs_info, .palmas_regs_info = palmas_generic_regs_info,
.palmas_matches = palmas_matches, .palmas_matches = palmas_matches,
.sleep_req_info = palma_sleep_req_info, .sleep_req_info = palma_sleep_req_info,
@ -1411,6 +1415,7 @@ static struct palmas_pmic_driver_data tps65917_ddata = {
.ldo_begin = TPS65917_REG_LDO1, .ldo_begin = TPS65917_REG_LDO1,
.ldo_end = TPS65917_REG_LDO5, .ldo_end = TPS65917_REG_LDO5,
.max_reg = TPS65917_NUM_REGS, .max_reg = TPS65917_NUM_REGS,
.has_regen3 = true,
.palmas_regs_info = tps65917_regs_info, .palmas_regs_info = tps65917_regs_info,
.palmas_matches = tps65917_matches, .palmas_matches = tps65917_matches,
.sleep_req_info = tps65917_sleep_req_info, .sleep_req_info = tps65917_sleep_req_info,
@ -1572,9 +1577,11 @@ static int palmas_regulators_probe(struct platform_device *pdev)
if (!pmic) if (!pmic)
return -ENOMEM; return -ENOMEM;
if (of_device_is_compatible(node, "ti,tps659038-pmic")) if (of_device_is_compatible(node, "ti,tps659038-pmic")) {
palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr = palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr =
TPS659038_REGEN2_CTRL; TPS659038_REGEN2_CTRL;
palmas_ddata.has_regen3 = false;
}
pmic->dev = &pdev->dev; pmic->dev = &pdev->dev;
pmic->palmas = palmas; pmic->palmas = palmas;

Просмотреть файл

@ -117,6 +117,7 @@ struct palmas_pmic_driver_data {
int ldo_begin; int ldo_begin;
int ldo_end; int ldo_end;
int max_reg; int max_reg;
bool has_regen3;
struct palmas_regs_info *palmas_regs_info; struct palmas_regs_info *palmas_regs_info;
struct of_regulator_match *palmas_matches; struct of_regulator_match *palmas_matches;
struct palmas_sleep_requestor_info *sleep_req_info; struct palmas_sleep_requestor_info *sleep_req_info;