diff options
author | Romain Gantois <romain.gantois@bootlin.com> | 2025-07-18 17:11:36 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2025-07-18 18:17:09 +0300 |
commit | d511206dc7443120637efd9cfa3ab06a26da33dd (patch) | |
tree | 35ff4859d440ba5fe45553c9174be32cc9a5fd5d /scripts/lib/kdoc/kdoc_parser.py | |
parent | ef616b9763e374454957a8785a068479fa5665a6 (diff) | |
download | linux-d511206dc7443120637efd9cfa3ab06a26da33dd.tar.xz |
regulator: core: repeat voltage setting request for stepped regulators
The regulator_set_voltage() function may exhibit unexpected behavior if the
target regulator has a maximum voltage step constraint. With such a
constraint, the regulator core may clamp the requested voltage to a lesser
value, to ensure that the voltage delta stays under the specified limit.
This means that the resulting regulator voltage depends on the current
voltage, as well as the requested range, which invalidates the assumption
that a repeated request for a specific voltage range will amount to a noop.
Considering the case of a regulator with a maximum voltage step constraint
of 1V:
initial voltage: 2.5V
consumer requests 4V
expected result: 3.5V
resulting voltage: 3.5V
consumer requests 4V again
expected result: 4V
actual result: 3.5V
Correct this by repeating attempts to balance the regulator voltage until
the result converges.
Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Link: https://patch.msgid.link/20250718-regulator-stepping-v2-1-e28c9ac5d54a@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_parser.py')
0 files changed, 0 insertions, 0 deletions