mmc: sdhci-pci: Set PROBE_PREFER_ASYNCHRONOUS
authorBrian Norris <briannorris@chromium.org>
Fri, 28 Oct 2022 22:56:37 +0000 (15:56 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 7 Dec 2022 12:22:34 +0000 (13:22 +0100)
This driver often takes on the order of 10ms to start, but in some cases
as much as 190ms. It shouldn't have many cross-device dependencies to
race with, nor racy access to shared state with other drivers, so this
should be a relatively low risk change. We've done similarly with a
variety of other MMC host drivers already.

This driver was pinpointed as part of a survey of top slowest initcalls
(i.e., are built in, and probing synchronously) on a lab of ChromeOS
systems.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20221028155633.1.I6c4bfb31e88fad934e7360242cb662e01612c1bb@changeid
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci-core.c

index 1f05950..c359f86 100644 (file)
@@ -2276,7 +2276,8 @@ static struct pci_driver sdhci_driver = {
        .probe =        sdhci_pci_probe,
        .remove =       sdhci_pci_remove,
        .driver =       {
-               .pm =   &sdhci_pci_pm_ops
+               .pm =   &sdhci_pci_pm_ops,
+               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
        },
 };