未验证 提交 512d8956 编写于 作者: A Axel Lin 提交者: Mark Brown

regulator: rt6160: Fix setting suspend voltage

The vsel active level is for the normal voltage, the opposite level is
the suspend voltage.
Signed-off-by: NAxel Lin <axel.lin@ingics.com>
Reviewed-by: NChiYuan Huang <cy_huang@richtek.com>
Link: https://lore.kernel.org/r/20210616011816.3479406-1-axel.lin@ingics.comSigned-off-by: NMark Brown <broonie@kernel.org>
上级 70d654ea
......@@ -128,13 +128,19 @@ static unsigned int rt6160_get_mode(struct regulator_dev *rdev)
static int rt6160_set_suspend_voltage(struct regulator_dev *rdev, int uV)
{
struct regmap *regmap = rdev_get_regmap(rdev);
unsigned int suspend_vsel_reg;
int vsel;
vsel = regulator_map_voltage_linear(rdev, uV, uV);
if (vsel < 0)
return vsel;
return regmap_update_bits(regmap, rdev->desc->vsel_reg,
if (rdev->desc->vsel_reg == RT6160_REG_VSELL)
suspend_vsel_reg = RT6160_REG_VSELH;
else
suspend_vsel_reg = RT6160_REG_VSELL;
return regmap_update_bits(regmap, suspend_vsel_reg,
RT6160_VSEL_MASK, vsel);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册