mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
mips: switch to GENERIC_PCI_IOMAP
mips copied pci_iomap from generic code, probably to avoid pulling the rest of iomap.c in. Since that's in a separate file now, we can reuse the common implementation. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
1b34d16073
commit
eab90291d3
|
@ -2317,6 +2317,7 @@ config PCI
|
||||||
bool "Support for PCI controller"
|
bool "Support for PCI controller"
|
||||||
depends on HW_HAS_PCI
|
depends on HW_HAS_PCI
|
||||||
select PCI_DOMAINS
|
select PCI_DOMAINS
|
||||||
|
select GENERIC_PCI_IOMAP
|
||||||
help
|
help
|
||||||
Find out whether you have a PCI motherboard. PCI is the name of a
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
||||||
bus system, i.e. the way the CPU talks to the other stuff inside
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
||||||
|
|
|
@ -40,32 +40,6 @@ static void __iomem *ioport_map_pci(struct pci_dev *dev,
|
||||||
return (void __iomem *) (ctrl->io_map_base + port);
|
return (void __iomem *) (ctrl->io_map_base + port);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Create a virtual mapping cookie for a PCI BAR (memory or IO)
|
|
||||||
*/
|
|
||||||
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
|
|
||||||
{
|
|
||||||
resource_size_t start = pci_resource_start(dev, bar);
|
|
||||||
resource_size_t len = pci_resource_len(dev, bar);
|
|
||||||
unsigned long flags = pci_resource_flags(dev, bar);
|
|
||||||
|
|
||||||
if (!len || !start)
|
|
||||||
return NULL;
|
|
||||||
if (maxlen && len > maxlen)
|
|
||||||
len = maxlen;
|
|
||||||
if (flags & IORESOURCE_IO)
|
|
||||||
return ioport_map_pci(dev, start, len);
|
|
||||||
if (flags & IORESOURCE_MEM) {
|
|
||||||
if (flags & IORESOURCE_CACHEABLE)
|
|
||||||
return ioremap(start, len);
|
|
||||||
return ioremap_nocache(start, len);
|
|
||||||
}
|
|
||||||
/* What? */
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(pci_iomap);
|
|
||||||
|
|
||||||
void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
|
void pci_iounmap(struct pci_dev *dev, void __iomem * addr)
|
||||||
{
|
{
|
||||||
iounmap(addr);
|
iounmap(addr);
|
||||||
|
|
Loading…
Reference in a new issue