Skip to content

Commit 9f4e899

Browse files
knaerzchelag-linaro
authored andcommitted
regulator: rk808: Support apply_bit for rk808_set_suspend_voltage_range
rk808_set_suspend_voltage_range currently does not account the existence of apply_bit/apply_reg. This adds support for those in same way it is done in regulator_set_voltage_sel_regmap and is required for the upcoming RK816 support Signed-off-by: Alex Bee <knaerzche@gmail.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20240416161237.2500037-5-knaerzche@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
1 parent 1bd97d6 commit 9f4e899

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

drivers/regulator/rk808-regulator.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -534,15 +534,25 @@ static int rk808_set_suspend_voltage_range(struct regulator_dev *rdev, int uv)
534534
{
535535
unsigned int reg;
536536
int sel = regulator_map_voltage_linear_range(rdev, uv, uv);
537+
int ret;
537538

538539
if (sel < 0)
539540
return -EINVAL;
540541

541542
reg = rdev->desc->vsel_reg + RK808_SLP_REG_OFFSET;
542543

543-
return regmap_update_bits(rdev->regmap, reg,
544-
rdev->desc->vsel_mask,
545-
sel);
544+
ret = regmap_update_bits(rdev->regmap, reg,
545+
rdev->desc->vsel_mask,
546+
sel);
547+
if (ret)
548+
return ret;
549+
550+
if (rdev->desc->apply_bit)
551+
ret = regmap_update_bits(rdev->regmap, rdev->desc->apply_reg,
552+
rdev->desc->apply_bit,
553+
rdev->desc->apply_bit);
554+
555+
return ret;
546556
}
547557

548558
static int rk805_set_suspend_enable(struct regulator_dev *rdev)

0 commit comments

Comments
 (0)