Re: [PATCH 1/2] regulator: pwm-regulator: Revert "Calculate the output voltage for disabled PWMs"
From: Mark Brown
Date: Fri Nov 06 2026 - 08:43:42 EST
On Fri, Nov 06, 2026 at 01:59:55PM +0100, Mike Looijmans wrote:
> This reverts commit 6a7d11efd691 ("regulator: pwm-regulator: Calculate the
> output voltage for disabled PWMs")
Adding Martin who wrote that patch - please CC people if you're directly
updating their patches.
>
> A disabled PWM is not the same as "set to 0%". If the PWM is disabled,
> this could also mean that its output pin is tristated for example.
>
> If the PWM range is limited to something else than 0..100% this causes the
> probe function to fail with messages like:
> dsp7-pwm: failed to get the current voltage: -ENOTRECOVERABLE
> pwm-regulator dsp7-supply-pwm: error -ENOTRECOVERABLE: Failed to register regulator pwm-regulator
> pwm-regulator dsp7-supply-pwm: probe with driver pwm-regulator failed with error -131
>
> The reason is that regulator_register() calls get_voltage(). The PWM is
> disabled at this point, and then the validity check triggers.
>
> Anything that calls get_voltage() while the PWM is disabled would get an
> -ENOTRECOVERABLE return value for a pwm-regulator that doesn't allow 0%.
>
> Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx>
> ---
>
> drivers/regulator/pwm-regulator.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
> index 7434b6b22d325..f50530c77d92f 100644
> --- a/drivers/regulator/pwm-regulator.c
> +++ b/drivers/regulator/pwm-regulator.c
> @@ -157,13 +157,6 @@ static int pwm_regulator_get_voltage(struct regulator_dev *rdev)
>
> pwm_get_state(drvdata->pwm, &pstate);
>
> - if (!pstate.enabled) {
> - if (pstate.polarity == PWM_POLARITY_INVERSED)
> - pstate.duty_cycle = pstate.period;
> - else
> - pstate.duty_cycle = 0;
> - }
> -
> voltage = pwm_get_relative_duty_cycle(&pstate, duty_unit);
> if (voltage < min(max_uV_duty, min_uV_duty) ||
> voltage > max(max_uV_duty, min_uV_duty))
> ---
> base-commit: f66469d9905b39d2c260a15d7d6db450f4db67c1
> branch: linux-master-pwm-regulator
>
> --
> 2.43.0
>
>
> Met vriendelijke groet / kind regards,
>
> Mike Looijmans
> System Expert
>
>
> TOPIC Embedded Products B.V.
> Materiaalweg 4, 5681 RJ Best
> The Netherlands
>
> T: +31 (0) 499 33 69 69
> E: mike.looijmans@xxxxxxxx
> W: www.topic.nl
>
> Please consider the environment before printing this e-mail
Attachment:
signature.asc
Description: PGP signature