Re: [PATCH 2/2] regulator: pwm-regulator: Revert "Add validity checks in continuous .get_voltage"

From: Mark Brown

Date: Sun Nov 08 2026 - 10:13:37 EST


On Fri, Nov 06, 2026 at 01:59:56PM +0100, Mike Looijmans wrote:
> This reverts commit c92688cac239 ("regulator: pwm-regulator: Add validity
> checks in continuous .get_voltage").

> The core, and in particular the machine_constraints_voltage() method,
> expects the regulator to report what the current setting is, even if that
> is outside the allowed range. The core will then bring the voltage into
> that range. It cannot do that if the regulator refuses to return its
> setting, and causes probe() to fail for a pwm-regulator when it has
> restrictions to the PWM range 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

Are you sure? We have specific handling for -ENOTRECOVERABLE which just
blindly writes in the range specified in the constraints if the current
voltage is unreadable. If that mechanism isn't working we should fix it
rather than changing drivers.

> Besides that, regulator_get_voltage() is not supposed to return any
> state information, as is mentioned in the API documentation.

> 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))
> - return -ENOTRECOVERABLE;

The rest of the function relies on this to avoid having to deal with
wrapping when things are out of range.

Attachment: signature.asc
Description: PGP signature