From: John Stultz <john.stultz@linaro.org>
To: lkml <linux-kernel@vger.kernel.org>
Cc: John Stultz <john.stultz@linaro.org>,
Rob Herring <robh@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Kevin Hilman <khilman@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>, Pavel Machek <pavel@ucw.cz>,
Len Brown <len.brown@intel.com>, Todd Kjos <tkjos@google.com>,
Saravana Kannan <saravanak@google.com>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Thierry Reding <treding@nvidia.com>,
Linus Walleij <linus.walleij@linaro.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-pm@vger.kernel.org
Subject: [PATCH v5 0/6] driver core: Improve and cleanup driver_deferred_probe_check_state()
Date: Tue, 25 Feb 2020 05:08:22 +0000 [thread overview]
Message-ID: <20200225050828.56458-1-john.stultz@linaro.org> (raw)
This series goal is to improve and cleanup the
driver_deferred_probe_check_state() code in the driver core.
This series is useful for being able to support modules
dependencies which may be loaded by userland, far after
late_initcall is done. For instance, this series allows us to
successfully use various clk drivers as modules on the db845c
board. And without it, those drivers have to be statically built
in to work.
Since I first sent out this patch, Saravana suggested an
alternative approach which also works for our needs, and is a
bit simpler:
https://lore.kernel.org/lkml/20200220055250.196456-1-saravanak@google.com/T/#u
However, while that patch provides the functionality we need,
I still suspect the driver_deferred_probe_check_state() code
could benefit from the cleanup in this patch, as the existing
logic is somewhat muddy.
New in v5:
* Reworked the driver_deferred_probe_check_state() logic as
suggested by Saravana to tie the initcall_done checking with
modules being enabled.
* Cleanup some comment wording as suggested by Rafael
* Try to slightly simplify the regulator logic as suggested by
Bjorn
Thanks so much to Bjorn, Saravana and Rafael for their reviews
and suggestions! Additional review and feedback is always greatly
appreciated!
thanks
-john
Cc: Rob Herring <robh@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <len.brown@intel.com>
Cc: Todd Kjos <tkjos@google.com>
Cc: Saravana Kannan <saravanak@google.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-pm@vger.kernel.org
John Stultz (6):
driver core: Fix driver_deferred_probe_check_state() logic
driver core: Set deferred_probe_timeout to a longer default if
CONFIG_MODULES is set
pinctrl: Remove use of driver_deferred_probe_check_state_continue()
driver core: Remove driver_deferred_probe_check_state_continue()
driver core: Rename deferred_probe_timeout and make it global
regulator: Use driver_deferred_probe_timeout for
regulator_init_complete_work
drivers/base/dd.c | 82 +++++++++++++----------------------
drivers/pinctrl/devicetree.c | 9 ++--
drivers/regulator/core.c | 25 ++++++-----
include/linux/device/driver.h | 2 +-
4 files changed, 49 insertions(+), 69 deletions(-)
--
2.17.1
next reply other threads:[~2020-02-25 5:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 5:08 John Stultz [this message]
2020-02-25 5:08 ` [PATCH v5 1/6] driver core: Fix driver_deferred_probe_check_state() logic John Stultz
2020-02-25 16:24 ` Rafael J. Wysocki
2020-02-25 5:08 ` [PATCH v5 2/6] driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set John Stultz
2020-02-25 5:08 ` [PATCH v5 3/6] pinctrl: Remove use of driver_deferred_probe_check_state_continue() John Stultz
2020-02-26 2:11 ` Saravana Kannan
2020-02-26 2:13 ` John Stultz
2020-02-25 5:08 ` [PATCH v5 4/6] driver core: Remove driver_deferred_probe_check_state_continue() John Stultz
2020-02-25 5:08 ` [PATCH v5 5/6] driver core: Rename deferred_probe_timeout and make it global John Stultz
2020-02-25 5:08 ` [PATCH v5 6/6] regulator: Use driver_deferred_probe_timeout for regulator_init_complete_work John Stultz
2020-02-25 12:43 ` Mark Brown
2020-03-04 17:12 ` [PATCH v5 0/6] driver core: Improve and cleanup driver_deferred_probe_check_state() Greg Kroah-Hartman
2020-04-21 23:59 ` Eugeniu Rosca
2020-04-22 1:16 ` John Stultz
2020-04-22 6:46 ` Eugeniu Rosca
2020-04-22 7:54 ` Mark Brown
2020-04-22 20:45 ` John Stultz
2020-04-23 7:26 ` Geert Uytterhoeven
2020-04-23 14:35 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200225050828.56458-1-john.stultz@linaro.org \
--to=john.stultz@linaro.org \
--cc=bjorn.andersson@linaro.org \
--cc=broonie@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=khilman@kernel.org \
--cc=len.brown@intel.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
--cc=robh@kernel.org \
--cc=saravanak@google.com \
--cc=tkjos@google.com \
--cc=treding@nvidia.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox