mmc: sdhci-acpi: support deferred probe
PATCH v3 1/1 mmc: sdhci-acpi: support deferred probe
Quoted 1 line
From
c889f737322b797b743c63eda241d0283696d3f5Mon Sep 17 00:00:00 2001
From: Zhang Rui <[email protected]>
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: [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
Quoted 10 lines · Zhang Rui
From
c889f737322b797b743c63eda241d0283696d3f5Mon Sep 17 00:00:00 2001
From: Zhang Rui <[email protected]>
Date: Wed, 7 Dec 2016 13:13:31 +0800
Subject: [PATCH v3] 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 GPIO is not ready when sdhci-acpi driver is probed, and sdhci-acpi driver should be probed again later in this case.
Quoted 8 lines
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]>
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:
Quoted 1 line
From
c889f737322b797b743c63eda241d0283696d3f5Mon 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
Quoted 23 lines
--- drivers/mmc/host/sdhci-acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)drivers/mmc/host/sdhci-acpi.c +4
-2@@ -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
Hi, Uffe,
Quoted 24 lines · Ulf Hansson
Quoted 18 lines · Zhang Rui
From
c889f737322b797b743c63eda241d0283696d3f5Mon Sep 17 00:00:00 2001
From: Zhang Rui <[email protected]>
Date: Wed, 7 Dec 2016 13:13:31 +0800
Subject: [PATCH v3] 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
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.Quoted 5 lines
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]>
Quoted 5 lines
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!
Sorry for bring the trouble.
In fact, I indeed run checkpatch before sending it out.
Quoted 5 lines
ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit fatal: bad o ("
da241d0283696d3f5")'
#14:Quoted 1 line
Quoted 8 lines
Quoted 2 lines
From
c889f737322b797b743c63eda241d0283696d3f5Mon Sep 17 00:00:00 2001ERROR: 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
I tried to resend the patch to myself, and find out the patch is corrupted when it's sent via evolution. Although I have not used evolution to send patch for a long time, but it indeed works for me before.
Patch resent. Sorry again for the noise.
thanks,
rui
Quoted 33 lines
Kind regards
UffeQuoted 30 lines
---
drivers/mmc/host/sdhci-acpi.c | 5 ++++-1 file changed, 4 insertions(+), 1 deletion(-)drivers/mmc/host/sdhci-acpi.c +1
-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)
+ gotoerr_free;dev_warn(dev, "failed to setup card detect gpio\n");
c->use_runtime_pm = false;
}
--
2.7.4