From: Dmitry Osipenko Date: Fri, 25 Oct 2019 00:22:40 +0000 (+0300) Subject: regulator: core: Allow generic coupling only for always-on regulators X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e381bfe45a891a5894465f072c5bbf3ed3e33b8a;p=linux.git 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 Link: https://lore.kernel.org/r/20191025002240.25288-2-digetx@gmail.com Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index a46be221dbdcb..a5b2a9b021087 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; }