diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-29 16:24:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-29 16:24:38 -0500 |
commit | 034496f40d64a4de786dfd39aa607d120c8c3cfc (patch) | |
tree | 706d97327381263ca068d82964614524a54b326c | |
parent | 5e6c2c97c56eb1b656e27fdcfaa3722828a9eca5 (diff) | |
parent | 1222d8fe578cd28a6c7f5e4e6c6b664c56abfdc0 (diff) |
Merge tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull one regulator fix from Mark Brown:
"One fix here, a fix for the voltage mapping on one of the s2mps11
regulators which broke systems using it including apparently the
Gear 2 smartwatches"
* tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
regulator: s2mps11: Fix dw_mmc failure on Gear 2
-rw-r--r-- | drivers/regulator/s2mps11.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c index c1444c3d84c2..2809ae0d6bcd 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c | |||
@@ -570,7 +570,7 @@ static struct regulator_ops s2mps14_reg_ops = { | |||
570 | .enable_mask = S2MPS14_ENABLE_MASK \ | 570 | .enable_mask = S2MPS14_ENABLE_MASK \ |
571 | } | 571 | } |
572 | 572 | ||
573 | #define regulator_desc_s2mps14_buck(num, min, step) { \ | 573 | #define regulator_desc_s2mps14_buck(num, min, step, min_sel) { \ |
574 | .name = "BUCK"#num, \ | 574 | .name = "BUCK"#num, \ |
575 | .id = S2MPS14_BUCK##num, \ | 575 | .id = S2MPS14_BUCK##num, \ |
576 | .ops = &s2mps14_reg_ops, \ | 576 | .ops = &s2mps14_reg_ops, \ |
@@ -579,7 +579,7 @@ static struct regulator_ops s2mps14_reg_ops = { | |||
579 | .min_uV = min, \ | 579 | .min_uV = min, \ |
580 | .uV_step = step, \ | 580 | .uV_step = step, \ |
581 | .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ | 581 | .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ |
582 | .linear_min_sel = S2MPS14_BUCK1235_START_SEL, \ | 582 | .linear_min_sel = min_sel, \ |
583 | .ramp_delay = S2MPS14_BUCK_RAMP_DELAY, \ | 583 | .ramp_delay = S2MPS14_BUCK_RAMP_DELAY, \ |
584 | .vsel_reg = S2MPS14_REG_B1CTRL2 + (num - 1) * 2, \ | 584 | .vsel_reg = S2MPS14_REG_B1CTRL2 + (num - 1) * 2, \ |
585 | .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ | 585 | .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ |
@@ -613,11 +613,16 @@ static const struct regulator_desc s2mps14_regulators[] = { | |||
613 | regulator_desc_s2mps14_ldo(23, MIN_800_MV, STEP_25_MV), | 613 | regulator_desc_s2mps14_ldo(23, MIN_800_MV, STEP_25_MV), |
614 | regulator_desc_s2mps14_ldo(24, MIN_1800_MV, STEP_25_MV), | 614 | regulator_desc_s2mps14_ldo(24, MIN_1800_MV, STEP_25_MV), |
615 | regulator_desc_s2mps14_ldo(25, MIN_1800_MV, STEP_25_MV), | 615 | regulator_desc_s2mps14_ldo(25, MIN_1800_MV, STEP_25_MV), |
616 | regulator_desc_s2mps14_buck(1, MIN_600_MV, STEP_6_25_MV), | 616 | regulator_desc_s2mps14_buck(1, MIN_600_MV, STEP_6_25_MV, |
617 | regulator_desc_s2mps14_buck(2, MIN_600_MV, STEP_6_25_MV), | 617 | S2MPS14_BUCK1235_START_SEL), |
618 | regulator_desc_s2mps14_buck(3, MIN_600_MV, STEP_6_25_MV), | 618 | regulator_desc_s2mps14_buck(2, MIN_600_MV, STEP_6_25_MV, |
619 | regulator_desc_s2mps14_buck(4, MIN_1400_MV, STEP_12_5_MV), | 619 | S2MPS14_BUCK1235_START_SEL), |
620 | regulator_desc_s2mps14_buck(5, MIN_600_MV, STEP_6_25_MV), | 620 | regulator_desc_s2mps14_buck(3, MIN_600_MV, STEP_6_25_MV, |
621 | S2MPS14_BUCK1235_START_SEL), | ||
622 | regulator_desc_s2mps14_buck(4, MIN_1400_MV, STEP_12_5_MV, | ||
623 | S2MPS14_BUCK4_START_SEL), | ||
624 | regulator_desc_s2mps14_buck(5, MIN_600_MV, STEP_6_25_MV, | ||
625 | S2MPS14_BUCK1235_START_SEL), | ||
621 | }; | 626 | }; |
622 | 627 | ||
623 | static int s2mps14_pmic_enable_ext_control(struct s2mps11_info *s2mps11, | 628 | static int s2mps14_pmic_enable_ext_control(struct s2mps11_info *s2mps11, |