Skip to content

Commit 9884976

Browse files
committed
Merge tag 'regulator-fix-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fixes from Mark Brown: "A few small driver specific fixes for v5.18, plus an update to the MAINTAINERS file" * tag 'regulator-fix-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: MAINTAINERS: Fix reviewer info for a few ROHM ICs regulator: atc260x: Fix missing active_discharge_on setting regulator: rtq2134: Fix missing active_discharge_on setting regulator: wm8994: Add an off-on delay for WM8994 variant
2 parents 0ccab01 + 908b768 commit 9884976

4 files changed

Lines changed: 46 additions & 10 deletions

File tree

MAINTAINERS

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5715,7 +5715,7 @@ W: http://lanana.org/docs/device-list/index.html
57155715

57165716
DEVICE RESOURCE MANAGEMENT HELPERS
57175717
M: Hans de Goede <hdegoede@redhat.com>
5718-
R: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
5718+
R: Matti Vaittinen <mazziesaccount@gmail.com>
57195719
S: Maintained
57205720
F: include/linux/devm-helpers.h
57215721

@@ -11208,7 +11208,7 @@ F: scripts/spdxcheck.py
1120811208

1120911209
LINEAR RANGES HELPERS
1121011210
M: Mark Brown <broonie@kernel.org>
11211-
R: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11211+
R: Matti Vaittinen <mazziesaccount@gmail.com>
1121211212
F: lib/linear_ranges.c
1121311213
F: lib/test_linear_ranges.c
1121411214
F: include/linux/linear_range.h
@@ -17011,8 +17011,7 @@ S: Odd Fixes
1701117011
F: drivers/tty/serial/rp2.*
1701217012

1701317013
ROHM BD99954 CHARGER IC
17014-
R: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
17015-
L: linux-power@fi.rohmeurope.com
17014+
R: Matti Vaittinen <mazziesaccount@gmail.com>
1701617015
S: Supported
1701717016
F: drivers/power/supply/bd99954-charger.c
1701817017
F: drivers/power/supply/bd99954-charger.h
@@ -17035,8 +17034,7 @@ F: drivers/regulator/bd9571mwv-regulator.c
1703517034
F: include/linux/mfd/bd9571mwv.h
1703617035

1703717036
ROHM POWER MANAGEMENT IC DEVICE DRIVERS
17038-
R: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
17039-
L: linux-power@fi.rohmeurope.com
17037+
R: Matti Vaittinen <mazziesaccount@gmail.com>
1704017038
S: Supported
1704117039
F: drivers/clk/clk-bd718x7.c
1704217040
F: drivers/gpio/gpio-bd71815.c
@@ -21118,7 +21116,7 @@ F: include/linux/regulator/
2111821116
K: regulator_get_optional
2111921117

2112021118
VOLTAGE AND CURRENT REGULATOR IRQ HELPERS
21121-
R: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
21119+
R: Matti Vaittinen <mazziesaccount@gmail.com>
2112221120
F: drivers/regulator/irq_helpers.c
2112321121

2112421122
VRF

drivers/regulator/atc260x-regulator.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ enum atc2603c_reg_ids {
292292
.bypass_mask = BIT(5), \
293293
.active_discharge_reg = ATC2603C_PMU_SWITCH_CTL, \
294294
.active_discharge_mask = BIT(1), \
295+
.active_discharge_on = BIT(1), \
295296
.owner = THIS_MODULE, \
296297
}
297298

drivers/regulator/rtq2134-regulator.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ static const unsigned int rtq2134_buck_ramp_delay_table[] = {
285285
.enable_mask = RTQ2134_VOUTEN_MASK, \
286286
.active_discharge_reg = RTQ2134_REG_BUCK##_id##_CFG0, \
287287
.active_discharge_mask = RTQ2134_ACTDISCHG_MASK, \
288+
.active_discharge_on = RTQ2134_ACTDISCHG_MASK, \
288289
.ramp_reg = RTQ2134_REG_BUCK##_id##_RSPCFG, \
289290
.ramp_mask = RTQ2134_RSPUP_MASK, \
290291
.ramp_delay_table = rtq2134_buck_ramp_delay_table, \

drivers/regulator/wm8994-regulator.c

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,35 @@ static const struct regulator_ops wm8994_ldo2_ops = {
7171
};
7272

7373
static const struct regulator_desc wm8994_ldo_desc[] = {
74+
{
75+
.name = "LDO1",
76+
.id = 1,
77+
.type = REGULATOR_VOLTAGE,
78+
.n_voltages = WM8994_LDO1_MAX_SELECTOR + 1,
79+
.vsel_reg = WM8994_LDO_1,
80+
.vsel_mask = WM8994_LDO1_VSEL_MASK,
81+
.ops = &wm8994_ldo1_ops,
82+
.min_uV = 2400000,
83+
.uV_step = 100000,
84+
.enable_time = 3000,
85+
.off_on_delay = 36000,
86+
.owner = THIS_MODULE,
87+
},
88+
{
89+
.name = "LDO2",
90+
.id = 2,
91+
.type = REGULATOR_VOLTAGE,
92+
.n_voltages = WM8994_LDO2_MAX_SELECTOR + 1,
93+
.vsel_reg = WM8994_LDO_2,
94+
.vsel_mask = WM8994_LDO2_VSEL_MASK,
95+
.ops = &wm8994_ldo2_ops,
96+
.enable_time = 3000,
97+
.off_on_delay = 36000,
98+
.owner = THIS_MODULE,
99+
},
100+
};
101+
102+
static const struct regulator_desc wm8958_ldo_desc[] = {
74103
{
75104
.name = "LDO1",
76105
.id = 1,
@@ -172,9 +201,16 @@ static int wm8994_ldo_probe(struct platform_device *pdev)
172201
* regulator core and we need not worry about it on the
173202
* error path.
174203
*/
175-
ldo->regulator = devm_regulator_register(&pdev->dev,
176-
&wm8994_ldo_desc[id],
177-
&config);
204+
if (ldo->wm8994->type == WM8994) {
205+
ldo->regulator = devm_regulator_register(&pdev->dev,
206+
&wm8994_ldo_desc[id],
207+
&config);
208+
} else {
209+
ldo->regulator = devm_regulator_register(&pdev->dev,
210+
&wm8958_ldo_desc[id],
211+
&config);
212+
}
213+
178214
if (IS_ERR(ldo->regulator)) {
179215
ret = PTR_ERR(ldo->regulator);
180216
dev_err(wm8994->dev, "Failed to register LDO%d: %d\n",

0 commit comments

Comments
 (0)