On Mon, Feb 24, 2014 at 09:50:58PM +0100, Markus Pargmann wrote: > The only situation where this returns -EINVAL is a dummy regulator that > is not always_on. As it doesn't make sense to have a dummy regulator > that is not always_on, I will add a check for exactly this situation to > the regulator_register function and drop the "return -EINVAL" above.
I've squashed the following fix in today: From 937635aa9c667b90b76505de91c5693da6a5c120 Mon Sep 17 00:00:00 2001 From: Mark Brown <broo...@linaro.org> Date: Tue, 25 Feb 2014 10:24:55 +0900 Subject: [PATCH] regulator: Handle invalid enable operation for always/boot on regulators Signed-off-by: Mark Brown <broo...@linaro.org> --- drivers/regulator/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 8cbc7d7..9a09f3c 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1017,7 +1017,7 @@ static int set_machine_constraints(struct regulator_dev *rdev, */ if (rdev->constraints->always_on || rdev->constraints->boot_on) { ret = _regulator_do_enable(rdev); - if (ret < 0) { + if (ret < 0 && ret != -EINVAL) { rdev_err(rdev, "failed to enable\n"); goto out; } -- 1.9.0.rc3
signature.asc
Description: Digital signature