On Thu, 3 Sep 2020 at 01:43, Douglas Anderson <dianders@xxxxxxxxxxxx> wrote: > > Turning on initcall debug on one system showed this: > initcall sdhci_msm_driver_init+0x0/0x28 returned 0 after 34782 usecs > > The lion's share of this time (~33 ms) was in mmc_power_up(). This > shouldn't be terribly surprising since there are a few calls to delay > based on "power_delay_ms" and the default delay there is 10 ms. > > Because we haven't specified that we'd prefer asynchronous probe for > this driver then we'll wait for this driver to finish before we start > probes for more drivers. While 33 ms doesn't sound like tons, every > little bit counts. > > There should be little problem with turning on asynchronous probe for > this driver. It's already possible that previous drivers may have > turned on asynchronous probe so we might already have other things > (that probed before us) probing at the same time we are anyway. This > driver isn't really providing resources (clocks, regulators, etc) that > other drivers need to probe and even if it was they should be handling > -EPROBE_DEFER. > > Let's turn this on and get a bit of boot speed back. Thanks for a very well written commit message! Indeed, I am sure many mmc host drivers could benefit from a similar change. At least regular platform drivers and amba drivers are pretty sure to work, but who knows. > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Applied for next, thanks! Kind regards Uffe > --- > > drivers/mmc/host/sdhci-msm.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c > index d4c02884cca8..9dd0dbb65382 100644 > --- a/drivers/mmc/host/sdhci-msm.c > +++ b/drivers/mmc/host/sdhci-msm.c > @@ -2542,6 +2542,7 @@ static struct platform_driver sdhci_msm_driver = { > .name = "sdhci_msm", > .of_match_table = sdhci_msm_dt_match, > .pm = &sdhci_msm_pm_ops, > + .probe_type = PROBE_PREFER_ASYNCHRONOUS, > }, > }; > > -- > 2.28.0.402.g5ffc5be6b7-goog >