Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 7 Sep 2020 11:32:06 +0200 | From | Greg Kroah-Hartman <> | Subject | Re: [RFC][PATCH] pinctrl: Rework driver_deferred_probe_check_state() evaluation since default timeout has changed |
| |
On Sat, Aug 08, 2020 at 04:35:12AM +0000, John Stultz wrote: > In commit bec6c0ecb243 ("pinctrl: Remove use of > driver_deferred_probe_check_state_continue()"), we removed the > use of driver_deferred_probe_check_state_continue() which > effectively never returned -ETIMED_OUT, with the > driver_deferred_probe_check_state() function that had been > reworked to properly return ETIMED_OUT when the deferred probe > timeout expired. Along with that change, we set the default > timeout to 30 seconds. > > However, since moving the timeout to 30 seconds caused some > issues for some users with optional dt links, we set the > default timeout back to zero - see commit ce68929f07de ("driver > core: Revert default driver_deferred_probe_timeout value to 0") > > This in essence changed the behavior of the pinctrl's usage > of driver_deferred_probe_check_state(), as it now would return > ETIMED_OUT by default. Thierry reported this caused problems with > resume on tegra platforms. > > Thus this patch tweaks the pinctrl logic so that it behaves as > before. If modules are enabled, we'll only return EPROBE_DEFERRED > while we're missing drivers linked in the DT. > > Cc: linux-pm@vger.kernel.org > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Thierry Reding <treding@nvidia.com> > Cc: Mark Brown <broonie@kernel.org> > 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> > Fixes: bec6c0ecb243 ("pinctrl: Remove use of driver_deferred_probe_check_state_continue()") > Fixes: ce68929f07de ("driver core: Revert default driver_deferred_probe_timeout value to 0") > Reported-by: Thierry Reding <thierry.reding@gmail.com> > Signed-off-by: John Stultz <john.stultz@linaro.org> > --- > drivers/pinctrl/devicetree.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-)
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| ![\](/images/icornerr.gif) |