diff mbox

regulator: core: Fix s2idle

Message ID 20180130120340.GB10525@sirena.org.uk (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Mark Brown Jan. 30, 2018, 12:03 p.m. UTC
On Tue, Jan 30, 2018 at 11:32:26AM +0100, Geert Uytterhoeven wrote:

> But I have no idea what impact it has.  So far it doesn't seem to hurt,
> though.

I suspect that instead what we should be doing is changing the
set_suspend_state() check to the below - if we don't have any
constraints or there's otherwise nothing to do just let the suspend
proceed.

Can you give this a spin and confirm if it fixes things?

Comments

Geert Uytterhoeven Jan. 30, 2018, 12:11 p.m. UTC | #1
Hi Mark,

On Tue, Jan 30, 2018 at 1:03 PM, Mark Brown <broonie@kernel.org> wrote:
> On Tue, Jan 30, 2018 at 11:32:26AM +0100, Geert Uytterhoeven wrote:
>> But I have no idea what impact it has.  So far it doesn't seem to hurt,
>> though.
>
> I suspect that instead what we should be doing is changing the
> set_suspend_state() check to the below - if we don't have any
> constraints or there's otherwise nothing to do just let the suspend
> proceed.
>
> Can you give this a spin and confirm if it fixes things?

Sure. Works, too.

> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> index 42681c10cbe4..dd4708c58480 100644
> --- a/drivers/regulator/core.c
> +++ b/drivers/regulator/core.c
> @@ -758,7 +758,7 @@ static int suspend_set_state(struct regulator_dev *rdev,
>
>         rstate = regulator_get_suspend_state(rdev, state);
>         if (rstate == NULL)
> -               return -EINVAL;
> +               return 0;
>
>         /* If we have no suspend mode configration don't set anything;
>          * only warn if the driver implements set_suspend_voltage or

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox

Patch

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 42681c10cbe4..dd4708c58480 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -758,7 +758,7 @@  static int suspend_set_state(struct regulator_dev *rdev,
 
 	rstate = regulator_get_suspend_state(rdev, state);
 	if (rstate == NULL)
-		return -EINVAL;
+		return 0;
 
 	/* If we have no suspend mode configration don't set anything;
 	 * only warn if the driver implements set_suspend_voltage or