mmc: pci_mmc: Set up the card detect
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 05:00:08 +0000 (18:00 +1300)
committerSimon Glass <sjg@chromium.org>
Sat, 27 Mar 2021 00:59:37 +0000 (13:59 +1300)
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 <sjg@chromium.org>
drivers/mmc/pci_mmc.c

index fd5dd22..b9ab064 100644 (file)
@@ -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;