On 13 January 2017 at 12:03, Zhang Rui <rui.zhang@xxxxxxxxx> wrote: > From c889f737322b797b743c63eda241d0283696d3f5 Mon Sep 17 00:00:00 2001 > From: Zhang Rui <rui.zhang@xxxxxxxxx> > Date: Wed, 7 Dec 2016 13:13:31 +0800 > Subject: [PATCH v3] mmc: sdhci-acpi: support deferred probe > > With commit 67bf5156edc4 ("gpio / ACPI: fix returned error from > acpi_dev_gpio_irq_get()"), mmc_gpiod_request_cd() returns -EPROBE_DEFER if > GPIO is not ready when sdhci-acpi driver is probed, and sdhci-acpi driver > should be probed again later in this case. > > This fixes an order issue when both GPIO and sdhci-acpi drivers are built > as modules. > > CC: stable@xxxxxxxxxxxxxxx # v4.9 > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=177101 > Tested-by: Jonas Aaberg <cja@xxxxxxx> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> > Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> I strongly encourage you to run checkpatch of all your change before submitting patches. Below is the output, it gave me. It prevents me from applying the change. Please fix and re-spin! ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit fatal: bad o ("da241d0283696d3f5")' #14: >From c889f737322b797b743c63eda241d0283696d3f5 Mon Sep 17 00:00:00 2001 ERROR: patch seems to be corrupt (line wrapped?) #49: FILE: drivers/mmc/host/sdhci-acpi.c:465: if (sdhci_acpi_flag(c, SDHCI_ACPI_SD_CD)) { total: 2 errors, 0 warnings, 11 lines checked Kind regards Uffe > --- > drivers/mmc/host/sdhci-acpi.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c > index 160f695cc09c..5440323894ee 100644 > --- a/drivers/mmc/host/sdhci-acpi.c > +++ b/drivers/mmc/host/sdhci-acpi.c > @@ -466,7 +466,10 @@ static int sdhci_acpi_probe(struct platform_device *pdev) > if (sdhci_acpi_flag(c, SDHCI_ACPI_SD_CD)) { > bool v = sdhci_acpi_flag(c, SDHCI_ACPI_SD_CD_OVERRIDE_LEVEL); > > - if (mmc_gpiod_request_cd(host->mmc, NULL, 0, v, 0, NULL)) { > + err = mmc_gpiod_request_cd(host->mmc, NULL, 0, v, 0, NULL); > + if (err) { > + if (err == -EPROBE_DEFER) > + goto err_free; > dev_warn(dev, "failed to setup card detect gpio\n"); > c->use_runtime_pm = false; > } > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html