2020-04-29 17:27:18

by John Stultz

[permalink] [raw]
Subject: [PATCH] regulator: Revert "Use driver_deferred_probe_timeout for regulator_init_complete_work"

This reverts commit dca0b44957e5 ("regulator: Use
driver_deferred_probe_timeout for regulator_init_complete_work"),
as we ended up reverting the default deferred_probe_timeout
value back to zero, to preserve behavior with 5.6 we need to
decouple the regulator timeout which was previously 30 seconds.

This avoids breaking some systems that depend on the regulator
timeout but don't require the deferred probe timeout.

Cc: [email protected]
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Thierry Reding <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: Liam Girdwood <[email protected]>
Cc: Bjorn Andersson <[email protected]>
Cc: Saravana Kannan <[email protected]>
Cc: Todd Kjos <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Pavel Machek <[email protected]>
Cc: Ulf Hansson <[email protected]>
Cc: Kevin Hilman <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Rob Herring <[email protected]>
Reported-by: Marek Szyprowski <[email protected]>
Suggested-by: Mark Brown <[email protected]>
Signed-off-by: John Stultz <[email protected]>
---
drivers/regulator/core.c | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index c340505150b6..7486f6e4e613 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -5754,10 +5754,6 @@ static DECLARE_DELAYED_WORK(regulator_init_complete_work,

static int __init regulator_init_complete(void)
{
- int delay = driver_deferred_probe_timeout;
-
- if (delay < 0)
- delay = 0;
/*
* Since DT doesn't provide an idiomatic mechanism for
* enabling full constraints and since it's much more natural
@@ -5768,17 +5764,18 @@ static int __init regulator_init_complete(void)
has_full_constraints = true;

/*
- * If driver_deferred_probe_timeout is set, we punt
- * completion for that many seconds since systems like
- * distros will load many drivers from userspace so consumers
- * might not always be ready yet, this is particularly an
- * issue with laptops where this might bounce the display off
- * then on. Ideally we'd get a notification from userspace
- * when this happens but we don't so just wait a bit and hope
- * we waited long enough. It'd be better if we'd only do
- * this on systems that need it.
+ * We punt completion for an arbitrary amount of time since
+ * systems like distros will load many drivers from userspace
+ * so consumers might not always be ready yet, this is
+ * particularly an issue with laptops where this might bounce
+ * the display off then on. Ideally we'd get a notification
+ * from userspace when this happens but we don't so just wait
+ * a bit and hope we waited long enough. It'd be better if
+ * we'd only do this on systems that need it, and a kernel
+ * command line option might be useful.
*/
- schedule_delayed_work(&regulator_init_complete_work, delay * HZ);
+ schedule_delayed_work(&regulator_init_complete_work,
+ msecs_to_jiffies(30000));

return 0;
}
--
2.17.1


2020-04-29 17:30:57

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Revert "Use driver_deferred_probe_timeout for regulator_init_complete_work"

On Wed, Apr 29, 2020 at 05:23:49PM +0000, John Stultz wrote:
> This reverts commit dca0b44957e5 ("regulator: Use
> driver_deferred_probe_timeout for regulator_init_complete_work"),
> as we ended up reverting the default deferred_probe_timeout
> value back to zero, to preserve behavior with 5.6 we need to
> decouple the regulator timeout which was previously 30 seconds.
>
> This avoids breaking some systems that depend on the regulator
> timeout but don't require the deferred probe timeout.

Reviewed-by: Mark Brown <[email protected]>

I'm assuming this should go via the same path that the other revert
went.


Attachments:
(No filename) (631.00 B)
signature.asc (499.00 B)
Download all attachments

2020-04-29 17:39:20

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] regulator: Revert "Use driver_deferred_probe_timeout for regulator_init_complete_work"

On Wed, Apr 29, 2020 at 06:27:01PM +0100, Mark Brown wrote:
> On Wed, Apr 29, 2020 at 05:23:49PM +0000, John Stultz wrote:
> > This reverts commit dca0b44957e5 ("regulator: Use
> > driver_deferred_probe_timeout for regulator_init_complete_work"),
> > as we ended up reverting the default deferred_probe_timeout
> > value back to zero, to preserve behavior with 5.6 we need to
> > decouple the regulator timeout which was previously 30 seconds.
> >
> > This avoids breaking some systems that depend on the regulator
> > timeout but don't require the deferred probe timeout.
>
> Reviewed-by: Mark Brown <[email protected]>
>
> I'm assuming this should go via the same path that the other revert
> went.

I'll be glad to take it that way :)

thanks,

greg k-h