mmc: pci_mmc: Set the removable flag
authorSimon Glass <sjg@chromium.org>
Thu, 14 Jan 2021 03:29:54 +0000 (20:29 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 27 Jan 2021 22:03:16 +0000 (17:03 -0500)
Set this flag so that it is available to those looking at the device. For
non-removable devices there is no need to check for insertion/removable
since the media can never change.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/pci_mmc.c

index 9316ac1..fd5dd22 100644 (file)
@@ -10,6 +10,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <mapmem.h>
+#include <mmc.h>
 #include <sdhci.h>
 #include <acpi/acpigen.h>
 #include <acpi/acpi_device.h>
@@ -40,8 +41,15 @@ static int pci_mmc_probe(struct udevice *dev)
        struct pci_mmc_plat *plat = dev_get_plat(dev);
        struct pci_mmc_priv *priv = dev_get_priv(dev);
        struct sdhci_host *host = &priv->host;
+       struct blk_desc *desc;
        int ret;
 
+       ret = mmc_of_parse(dev, &plat->cfg);
+       if (ret)
+               return ret;
+       desc = mmc_get_blk_desc(&plat->mmc);
+       desc->removable = !(plat->cfg.host_caps & MMC_CAP_NONREMOVABLE);
+
        host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
                                              PCI_REGION_MEM);
        host->name = dev->name;