]> git.baikalelectronics.ru Git - kernel.git/commitdiff
regulator: core: Allow generic coupling only for always-on regulators
authorDmitry Osipenko <digetx@gmail.com>
Fri, 25 Oct 2019 00:22:40 +0000 (03:22 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 28 Oct 2019 13:15:52 +0000 (13:15 +0000)
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>
drivers/regulator/core.c

index a46be221dbdcba78160781d223c7ee6e2f2f5665..a5b2a9b021087aa1c82a7878794ae86a293e9f64 100644 (file)
@@ -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;
 }