x86: mmc: Fix mapping of BAR memory
authorBernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Thu, 15 Feb 2018 08:09:43 +0000 (09:09 +0100)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 30 Mar 2018 08:05:08 +0000 (16:05 +0800)
Use dm_pci_map_bar function for BAR mapping. This has the advantage
of clearing BAR flags and and only accepting mapped memory.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/mmc/pci_mmc.c

index 05c0044a7a001148fc8e3183a2229fc171ed6b33..b7a2ebfe3f8e8428ae80b877e314d1d53e9feaf9 100644 (file)
@@ -29,11 +29,10 @@ static int pci_mmc_probe(struct udevice *dev)
        struct pci_mmc_plat *plat = dev_get_platdata(dev);
        struct pci_mmc_priv *priv = dev_get_priv(dev);
        struct sdhci_host *host = &priv->host;
-       u32 ioaddr;
        int ret;
 
-       dm_pci_read_config32(dev, PCI_BASE_ADDRESS_0, &ioaddr);
-       host->ioaddr = map_sysmem(ioaddr, 0);
+       host->ioaddr = (void *)dm_pci_map_bar(dev, PCI_BASE_ADDRESS_0,
+                                             PCI_REGION_MEM);
        host->name = dev->name;
        ret = sdhci_setup_cfg(&plat->cfg, host, 0, 0);
        if (ret)