mmc: sdhci-acpi: support deferred probe
PATCH RESEND v2 1/1 mmc: sdhci-acpi: support deferred probe
Quoted 1 line
From
760aca40f3f10065f888cdf18cb20491f8b52264Mon Sep 17 00:00:00 2001
From: Zhang Rui <[email protected]>
Date: Wed, 7 Dec 2016 13:13:31 +0800
Subject: [PATCH v2] 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: [email protected] # v4.9
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=177101
---
drivers/mmc/host/sdhci-acpi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
drivers/mmc/host/sdhci-acpi.c +0 -0
@@ -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
Adrian Hunter
maintainerQuoted 7 lines · Zhang Rui
Quoted 1 line
From
760aca40f3f10065f888cdf18cb20491f8b52264Mon Sep 17 00:00:00 2001From: Zhang Rui <[email protected]>
Date: Wed, 7 Dec 2016 13:13:31 +0800
Subject: [PATCH v2] mmc: sdhci-acpi: support deferred probeWith commit
67bf5156edc4(gpio / ACPI: fix returned error fromacpi_dev_gpio_irq_get()),mmc_gpiod_request_cd()returns -EPROBE_DEFER if
You took out the "" which are needed, and the email contains lines ending with CRLF instead of LF.
Quoted 35 lines
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: [email protected] # v4.9
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=177101Tested-by Jonas Aaberg <[email protected]>Signed-off-by Zhang Rui <[email protected]>Acked-by Adrian Hunter <[email protected]>--- drivers/mmc/host/sdhci-acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)drivers/mmc/host/sdhci-acpi.c +4
-1@@ -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; }Signature · 1 line
2.7.4