Skip to content

Commit 7051792

Browse files
power-xsfrkhuangtao
authored andcommitted
regulator: rk808: rk816: fix up the DCDC and LDO setting off in sleep mode
Change-Id: I1022a7a8951a3115ac01a43f2165b5eac6202ab4 Signed-off-by: shengfei Xu <xsf@rock-chips.com>
1 parent 1fca941 commit 7051792

1 file changed

Lines changed: 12 additions & 18 deletions

File tree

drivers/regulator/rk808-regulator.c

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -386,18 +386,13 @@ static int rk816_set_suspend_enable(struct regulator_dev *rdev)
386386
if (rdev->desc->id <= RK816_ID_DCDC4) {
387387
reg = rdev->desc->enable_reg +
388388
RK816_DCDC_SLP_EN_REG_OFFSET;
389-
val = 1 << rdev->desc->id;
390-
}
391-
392-
if ((rdev->desc->id > RK816_ID_DCDC4) &&
393-
(rdev->desc->id <= RK816_ID_LDO4)) {
389+
val = 1 << rdev->desc->id;
390+
} else if ((rdev->desc->id > RK816_ID_DCDC4) &&
391+
(rdev->desc->id <= RK816_ID_LDO4)) {
394392
reg = rdev->desc->enable_reg -
395393
RK816_LDO1_4_SLP_EN_REG_OFFSET;
396394
val = 1 << (rdev->desc->id - RK816_ID_LDO1);
397-
}
398-
399-
if ((rdev->desc->id > RK816_ID_LDO4) &&
400-
(rdev->desc->id <= RK816_ID_LDO6)) {
395+
} else {
401396
reg = rdev->desc->enable_reg -
402397
RK816_LDO5_6_SLP_EN_REG_OFFSET;
403398
val = 1 << (rdev->desc->id - RK816_ID_LDO1);
@@ -412,21 +407,20 @@ static int rk816_set_suspend_disable(struct regulator_dev *rdev)
412407
{
413408
unsigned int reg, val;
414409

415-
if (rdev->desc->id <= RK816_ID_DCDC4)
410+
if (rdev->desc->id <= RK816_ID_DCDC4) {
416411
reg = rdev->desc->enable_reg +
417412
RK816_DCDC_SLP_EN_REG_OFFSET;
418-
419-
if ((rdev->desc->id > RK816_ID_DCDC4) &&
420-
(rdev->desc->id <= RK816_ID_LDO4))
413+
val = 1 << rdev->desc->id;
414+
} else if ((rdev->desc->id > RK816_ID_DCDC4) &&
415+
(rdev->desc->id <= RK816_ID_LDO4)) {
421416
reg = rdev->desc->enable_reg -
422417
RK816_LDO1_4_SLP_EN_REG_OFFSET;
423-
424-
if ((rdev->desc->id > RK816_ID_LDO4) &&
425-
(rdev->desc->id <= RK816_ID_LDO6))
418+
val = 1 << (rdev->desc->id - RK816_ID_LDO1);
419+
} else {
426420
reg = rdev->desc->enable_reg -
427421
RK816_LDO5_6_SLP_EN_REG_OFFSET;
428-
429-
val = 1 << (rdev->desc->id % 8);
422+
val = 1 << (rdev->desc->id - RK816_ID_LDO1);
423+
}
430424

431425
return regmap_update_bits(rdev->regmap, reg,
432426
val,

0 commit comments

Comments
 (0)