Skip to content

Commit

Permalink
regulator: Revert "Use driver_deferred_probe_timeout for regulator_in…
Browse files Browse the repository at this point in the history
…it_complete_work"

This reverts commit dca0b44 ("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: linux-pm@vger.kernel.org
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Saravana Kannan <saravanak@google.com>
Cc: Todd Kjos <tkjos@google.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Rob Herring <robh@kernel.org>
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Suggested-by: Mark Brown <broonie@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20200429172349.55979-1-john.stultz@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
John Stultz authored and Greg Kroah-Hartman committed Apr 29, 2020
1 parent 35a6723 commit 2a15483
Showing 1 changed file with 11 additions and 14 deletions.
25 changes: 11 additions & 14 deletions drivers/regulator/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
}
Expand Down

0 comments on commit 2a15483

Please sign in to comment.