The common sdhci infrastructure is already parsing the cd-gpios
property, since commit 451931ea7002 ("mmc: sdhci: Read cd-gpio from
devicetree"). The s5p code is therefore duplicated, and also broken
since it assumes that the GPIO value is inverted, while the sdhci code
correctly follows the ACTIVE_LOW/ACTIVE_HIGH flag specified in the
device tree.

This fix was originally authored by Simon Shields:
https://github.com/fourkbomb/u-boot/commit/2eac9dea7903

The change has been tested on exynos4210-i9100, a device similar to
exynos4210-trats.

Signed-off-by: Henrik Grimler <[email protected]>
---
 drivers/mmc/s5p_sdhci.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c
index 
278019f02abbe7ee7f16c48758af3b48449ec078..b2faecefc00f479f53c2c6156da66a8fe46e4529
 100644
--- a/drivers/mmc/s5p_sdhci.c
+++ b/drivers/mmc/s5p_sdhci.c
@@ -141,14 +141,6 @@ static int do_sdhci_init(struct sdhci_host *host)
                }
        }
 
-       if (dm_gpio_is_valid(&host->cd_gpio)) {
-               ret = dm_gpio_get_value(&host->cd_gpio);
-               if (ret) {
-                       debug("no SD card detected (%d)\n", ret);
-                       return -ENODEV;
-               }
-       }
-
        return s5p_sdhci_core_init(host);
 }
 
@@ -183,8 +175,6 @@ static int sdhci_get_config(const void *blob, int node, 
struct sdhci_host *host)
 
        gpio_request_by_name_nodev(offset_to_ofnode(node), "pwr-gpios", 0,
                                   &host->pwr_gpio, GPIOD_IS_OUT);
-       gpio_request_by_name_nodev(offset_to_ofnode(node), "cd-gpios", 0,
-                                  &host->cd_gpio, GPIOD_IS_IN);
 
        return 0;
 }

-- 
2.50.1

_______________________________________________
Replicant mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to