Skip to content

Commit bae4cb9

Browse files
committed
Merge branch 'regulator-5.6' into regulator-linus
2 parents fb33c65 + fc69bab commit bae4cb9

File tree

1 file changed

+4
-44
lines changed

1 file changed

+4
-44
lines changed

drivers/regulator/da9063-regulator.c

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ struct da9063_regulator_info {
100100
.desc.vsel_mask = DA9063_V##regl_name##_MASK, \
101101
.desc.linear_min_sel = DA9063_V##regl_name##_BIAS, \
102102
.sleep = BFIELD(DA9063_REG_V##regl_name##_A, DA9063_LDO_SL), \
103+
.suspend = BFIELD(DA9063_REG_##regl_name##_CONT, DA9063_LDO_CONF), \
103104
.suspend_sleep = BFIELD(DA9063_REG_V##regl_name##_B, DA9063_LDO_SL), \
104105
.suspend_vsel_reg = DA9063_REG_V##regl_name##_B
105106

@@ -124,6 +125,7 @@ struct da9063_regulator_info {
124125
.desc.vsel_mask = DA9063_VBUCK_MASK, \
125126
.desc.linear_min_sel = DA9063_VBUCK_BIAS, \
126127
.sleep = BFIELD(DA9063_REG_V##regl_name##_A, DA9063_BUCK_SL), \
128+
.suspend = BFIELD(DA9063_REG_##regl_name##_CONT, DA9063_BUCK_CONF), \
127129
.suspend_sleep = BFIELD(DA9063_REG_V##regl_name##_B, DA9063_BUCK_SL), \
128130
.suspend_vsel_reg = DA9063_REG_V##regl_name##_B, \
129131
.mode = BFIELD(DA9063_REG_##regl_name##_CFG, DA9063_BUCK_MODE_MASK)
@@ -224,7 +226,6 @@ static int da9063_buck_set_mode(struct regulator_dev *rdev, unsigned mode)
224226
static unsigned da9063_buck_get_mode(struct regulator_dev *rdev)
225227
{
226228
struct da9063_regulator *regl = rdev_get_drvdata(rdev);
227-
struct regmap_field *field;
228229
unsigned int val;
229230
int ret;
230231

@@ -245,18 +246,7 @@ static unsigned da9063_buck_get_mode(struct regulator_dev *rdev)
245246
return REGULATOR_MODE_NORMAL;
246247
}
247248

248-
/* Detect current regulator state */
249-
ret = regmap_field_read(regl->suspend, &val);
250-
if (ret < 0)
251-
return 0;
252-
253-
/* Read regulator mode from proper register, depending on state */
254-
if (val)
255-
field = regl->suspend_sleep;
256-
else
257-
field = regl->sleep;
258-
259-
ret = regmap_field_read(field, &val);
249+
ret = regmap_field_read(regl->sleep, &val);
260250
if (ret < 0)
261251
return 0;
262252

@@ -293,21 +283,9 @@ static int da9063_ldo_set_mode(struct regulator_dev *rdev, unsigned mode)
293283
static unsigned da9063_ldo_get_mode(struct regulator_dev *rdev)
294284
{
295285
struct da9063_regulator *regl = rdev_get_drvdata(rdev);
296-
struct regmap_field *field;
297286
int ret, val;
298287

299-
/* Detect current regulator state */
300-
ret = regmap_field_read(regl->suspend, &val);
301-
if (ret < 0)
302-
return 0;
303-
304-
/* Read regulator mode from proper register, depending on state */
305-
if (val)
306-
field = regl->suspend_sleep;
307-
else
308-
field = regl->sleep;
309-
310-
ret = regmap_field_read(field, &val);
288+
ret = regmap_field_read(regl->sleep, &val);
311289
if (ret < 0)
312290
return 0;
313291

@@ -465,72 +443,61 @@ static const struct da9063_regulator_info da9063_regulator_info[] = {
465443
da9063_buck_a_limits,
466444
DA9063_REG_BUCK_ILIM_C, DA9063_BCORE1_ILIM_MASK),
467445
DA9063_BUCK_COMMON_FIELDS(BCORE1),
468-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBCORE1_SEL),
469446
},
470447
{
471448
DA9063_BUCK(DA9063, BCORE2, 300, 10, 1570,
472449
da9063_buck_a_limits,
473450
DA9063_REG_BUCK_ILIM_C, DA9063_BCORE2_ILIM_MASK),
474451
DA9063_BUCK_COMMON_FIELDS(BCORE2),
475-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBCORE2_SEL),
476452
},
477453
{
478454
DA9063_BUCK(DA9063, BPRO, 530, 10, 1800,
479455
da9063_buck_a_limits,
480456
DA9063_REG_BUCK_ILIM_B, DA9063_BPRO_ILIM_MASK),
481457
DA9063_BUCK_COMMON_FIELDS(BPRO),
482-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBPRO_SEL),
483458
},
484459
{
485460
DA9063_BUCK(DA9063, BMEM, 800, 20, 3340,
486461
da9063_buck_b_limits,
487462
DA9063_REG_BUCK_ILIM_A, DA9063_BMEM_ILIM_MASK),
488463
DA9063_BUCK_COMMON_FIELDS(BMEM),
489-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBMEM_SEL),
490464
},
491465
{
492466
DA9063_BUCK(DA9063, BIO, 800, 20, 3340,
493467
da9063_buck_b_limits,
494468
DA9063_REG_BUCK_ILIM_A, DA9063_BIO_ILIM_MASK),
495469
DA9063_BUCK_COMMON_FIELDS(BIO),
496-
.suspend = BFIELD(DA9063_REG_DVC_2, DA9063_VBIO_SEL),
497470
},
498471
{
499472
DA9063_BUCK(DA9063, BPERI, 800, 20, 3340,
500473
da9063_buck_b_limits,
501474
DA9063_REG_BUCK_ILIM_B, DA9063_BPERI_ILIM_MASK),
502475
DA9063_BUCK_COMMON_FIELDS(BPERI),
503-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBPERI_SEL),
504476
},
505477
{
506478
DA9063_BUCK(DA9063, BCORES_MERGED, 300, 10, 1570,
507479
da9063_bcores_merged_limits,
508480
DA9063_REG_BUCK_ILIM_C, DA9063_BCORE1_ILIM_MASK),
509481
/* BCORES_MERGED uses the same register fields as BCORE1 */
510482
DA9063_BUCK_COMMON_FIELDS(BCORE1),
511-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBCORE1_SEL),
512483
},
513484
{
514485
DA9063_BUCK(DA9063, BMEM_BIO_MERGED, 800, 20, 3340,
515486
da9063_bmem_bio_merged_limits,
516487
DA9063_REG_BUCK_ILIM_A, DA9063_BMEM_ILIM_MASK),
517488
/* BMEM_BIO_MERGED uses the same register fields as BMEM */
518489
DA9063_BUCK_COMMON_FIELDS(BMEM),
519-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VBMEM_SEL),
520490
},
521491
{
522492
DA9063_LDO(DA9063, LDO3, 900, 20, 3440),
523-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VLDO3_SEL),
524493
.oc_event = BFIELD(DA9063_REG_STATUS_D, DA9063_LDO3_LIM),
525494
},
526495
{
527496
DA9063_LDO(DA9063, LDO7, 900, 50, 3600),
528-
.suspend = BFIELD(DA9063_REG_LDO7_CONT, DA9063_VLDO7_SEL),
529497
.oc_event = BFIELD(DA9063_REG_STATUS_D, DA9063_LDO7_LIM),
530498
},
531499
{
532500
DA9063_LDO(DA9063, LDO8, 900, 50, 3600),
533-
.suspend = BFIELD(DA9063_REG_LDO8_CONT, DA9063_VLDO8_SEL),
534501
.oc_event = BFIELD(DA9063_REG_STATUS_D, DA9063_LDO8_LIM),
535502
},
536503
{
@@ -539,36 +506,29 @@ static const struct da9063_regulator_info da9063_regulator_info[] = {
539506
},
540507
{
541508
DA9063_LDO(DA9063, LDO11, 900, 50, 3600),
542-
.suspend = BFIELD(DA9063_REG_LDO11_CONT, DA9063_VLDO11_SEL),
543509
.oc_event = BFIELD(DA9063_REG_STATUS_D, DA9063_LDO11_LIM),
544510
},
545511

546512
/* The following LDOs are present only on DA9063, not on DA9063L */
547513
{
548514
DA9063_LDO(DA9063, LDO1, 600, 20, 1860),
549-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VLDO1_SEL),
550515
},
551516
{
552517
DA9063_LDO(DA9063, LDO2, 600, 20, 1860),
553-
.suspend = BFIELD(DA9063_REG_DVC_1, DA9063_VLDO2_SEL),
554518
},
555519
{
556520
DA9063_LDO(DA9063, LDO4, 900, 20, 3440),
557-
.suspend = BFIELD(DA9063_REG_DVC_2, DA9063_VLDO4_SEL),
558521
.oc_event = BFIELD(DA9063_REG_STATUS_D, DA9063_LDO4_LIM),
559522
},
560523
{
561524
DA9063_LDO(DA9063, LDO5, 900, 50, 3600),
562-
.suspend = BFIELD(DA9063_REG_LDO5_CONT, DA9063_VLDO5_SEL),
563525
},
564526
{
565527
DA9063_LDO(DA9063, LDO6, 900, 50, 3600),
566-
.suspend = BFIELD(DA9063_REG_LDO6_CONT, DA9063_VLDO6_SEL),
567528
},
568529

569530
{
570531
DA9063_LDO(DA9063, LDO10, 900, 50, 3600),
571-
.suspend = BFIELD(DA9063_REG_LDO10_CONT, DA9063_VLDO10_SEL),
572532
},
573533
};
574534

0 commit comments

Comments
 (0)