summaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2019-10-25 03:22:40 +0300
committerMark Brown <broonie@kernel.org>2019-10-28 13:15:52 +0000
commite381bfe45a891a5894465f072c5bbf3ed3e33b8a (patch)
tree261912b460bf5679138016c76d720562da245196 /drivers/regulator
parent907becb2638df95b78581381bed225c4f3e35799 (diff)
downloadlinux-e381bfe45a891a5894465f072c5bbf3ed3e33b8a.tar.gz
linux-e381bfe45a891a5894465f072c5bbf3ed3e33b8a.tar.bz2
linux-e381bfe45a891a5894465f072c5bbf3ed3e33b8a.zip
regulator: core: Allow generic coupling only for always-on regulators
The generic voltage balancer doesn't work correctly if one of regulator couples turns off. Currently there are no users in kernel for that case, although let's explicitly show that this case is unsupported for those who will try to use that feature. Link: https://lore.kernel.org/linux-samsung-soc/20191008170503.yd6GscYPLxjgrXqDuCO7AJc6i6egNZGJkVWHLlCxvA4@z/ Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Link: https://lore.kernel.org/r/20191025002240.25288-2-digetx@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index a46be221dbdc..a5b2a9b02108 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -4963,6 +4963,12 @@ static int generic_coupler_attach(struct regulator_coupler *coupler,
return -EPERM;
}
+ if (!rdev->constraints->always_on) {
+ rdev_err(rdev,
+ "Coupling of a non always-on regulator is unimplemented\n");
+ return -ENOTSUPP;
+ }
+
return 0;
}