regulator: core: Introduce API for regulators coupling customization

Right now regulator core supports only one type of regulators coupling,
the "voltage max-spread" which keeps voltages of coupled regulators in a
given range from each other. A more sophisticated coupling may be required
in practice, one example is the NVIDIA Tegra SoCs which besides the
max-spreading have other restrictions that must be adhered. Introduce API
that allow platforms to provide their own customized coupling algorithms.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Dmitry Osipenko
2019-06-24 00:08:31 +03:00
committed by Mark Brown
parent a188339ca5
commit d8ca7d184b
5 changed files with 228 additions and 47 deletions

View File

@@ -156,7 +156,7 @@ struct regulation_constraints {
int system_load;
/* used for coupled regulators */
int max_spread;
u32 *max_spread;
/* used for changing voltage in steps */
int max_uV_step;