[PATCH] regulator: mp5416: Fix output discharge enable bit for LDOs

From: Axel Lin
Date: Wed Feb 12 2020 - 10:02:23 EST


The .active_discharge_on/.active_discharge_mask settings does not match
the datasheet, fix it.

Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20200212150223.20042-1-axel.lin@xxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
drivers/regulator/mp5416.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
index 7954ad17249b..67ce1b52a1a1 100644
--- a/drivers/regulator/mp5416.c
+++ b/drivers/regulator/mp5416.c
@@ -73,7 +73,7 @@
.owner = THIS_MODULE, \
}

-#define MP5416LDO(_name, _id) \
+#define MP5416LDO(_name, _id, _dval) \
[MP5416_LDO ## _id] = { \
.id = MP5416_LDO ## _id, \
.name = _name, \
@@ -87,9 +87,9 @@
.vsel_mask = MP5416_MASK_VSET, \
.enable_reg = MP5416_REG_LDO ##_id, \
.enable_mask = MP5416_REGULATOR_EN, \
- .active_discharge_on = BIT(_id), \
+ .active_discharge_on = _dval, \
.active_discharge_reg = MP5416_REG_CTL2, \
- .active_discharge_mask = BIT(_id), \
+ .active_discharge_mask = _dval, \
.owner = THIS_MODULE, \
}

@@ -155,10 +155,10 @@ static struct regulator_desc mp5416_regulators_desc[MP5416_MAX_REGULATORS] = {
MP5416BUCK("buck2", 2, mp5416_I_limits2, MP5416_REG_CTL1, BIT(1), 2),
MP5416BUCK("buck3", 3, mp5416_I_limits1, MP5416_REG_CTL1, BIT(2), 1),
MP5416BUCK("buck4", 4, mp5416_I_limits2, MP5416_REG_CTL2, BIT(5), 2),
- MP5416LDO("ldo1", 1),
- MP5416LDO("ldo2", 2),
- MP5416LDO("ldo3", 3),
- MP5416LDO("ldo4", 4),
+ MP5416LDO("ldo1", 1, BIT(4)),
+ MP5416LDO("ldo2", 2, BIT(3)),
+ MP5416LDO("ldo3", 3, BIT(2)),
+ MP5416LDO("ldo4", 4, BIT(1)),
};

/*
--
2.20.1