@@ -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