The driver currently reads the card-detect but does not register it with
the MMC stack. Update this so that card-detect works as expected.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 drivers/mmc/pci_mmc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/pci_mmc.c b/drivers/mmc/pci_mmc.c
index fd5dd229b58..b9ab064b60e 100644
--- a/drivers/mmc/pci_mmc.c
+++ b/drivers/mmc/pci_mmc.c
@@ -53,6 +53,7 @@ static int pci_mmc_probe(struct udevice *dev)
        host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
                                              PCI_REGION_MEM);
        host->name = dev->name;
+       host->cd_gpio = priv->cd_gpio;
        host->mmc = &plat->mmc;
        host->mmc->dev = dev;
        ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
@@ -68,8 +69,11 @@ static int pci_mmc_of_to_plat(struct udevice *dev)
 {
        if (CONFIG_IS_ENABLED(DM_GPIO)) {
                struct pci_mmc_priv *priv = dev_get_priv(dev);
+               int ret;
 
-               gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio, 
GPIOD_IS_IN);
+               ret = gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
+                                          GPIOD_IS_IN);
+               log_debug("cd-gpio %s done, ret=%d\n", dev->name, ret);
        }
 
        return 0;
-- 
2.31.0.rc2.261.g7f71774620-goog

Reply via email to