powerpc: switch to GENERIC_PCI_IOMAP
powerpc 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. The only difference is handling of nocache flag, that turns out to be done correctly by the generic code since arch/powerpc/include/asm/io.h defines ioremap_nocache same as ioremap. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>hifive-unleashed-5.1
parent
629a858160
commit
335b8cf7c3
|
@ -710,6 +710,7 @@ config PCI
|
||||||
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
|
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
|
||||||
default PCI_QSPAN if !4xx && !CPM2 && 8xx
|
default PCI_QSPAN if !4xx && !CPM2 && 8xx
|
||||||
select ARCH_SUPPORTS_MSI
|
select ARCH_SUPPORTS_MSI
|
||||||
|
select GENERIC_PCI_IOMAP
|
||||||
help
|
help
|
||||||
Find out whether your system includes a PCI bus. PCI is the name of
|
Find out whether your system includes a PCI bus. PCI is the name of
|
||||||
a bus system, i.e. the way the CPU talks to the other stuff inside
|
a bus system, i.e. the way the CPU talks to the other stuff inside
|
||||||
|
|
|
@ -119,24 +119,6 @@ EXPORT_SYMBOL(ioport_map);
|
||||||
EXPORT_SYMBOL(ioport_unmap);
|
EXPORT_SYMBOL(ioport_unmap);
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
|
|
||||||
{
|
|
||||||
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)
|
|
||||||
return NULL;
|
|
||||||
if (max && len > max)
|
|
||||||
len = max;
|
|
||||||
if (flags & IORESOURCE_IO)
|
|
||||||
return ioport_map(start, len);
|
|
||||||
if (flags & IORESOURCE_MEM)
|
|
||||||
return ioremap(start, len);
|
|
||||||
/* What? */
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
|
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
|
||||||
{
|
{
|
||||||
if (isa_vaddr_is_ioport(addr))
|
if (isa_vaddr_is_ioport(addr))
|
||||||
|
@ -146,6 +128,5 @@ void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
|
||||||
iounmap(addr);
|
iounmap(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT_SYMBOL(pci_iomap);
|
|
||||||
EXPORT_SYMBOL(pci_iounmap);
|
EXPORT_SYMBOL(pci_iounmap);
|
||||||
#endif /* CONFIG_PCI */
|
#endif /* CONFIG_PCI */
|
||||||
|
|
Loading…
Reference in New Issue