|
@@ -7,6 +7,7 @@
|
|
|
#include <linux/pci.h>
|
|
|
#include <linux/mm.h>
|
|
|
#include <asm/io.h>
|
|
|
+#include <asm/pci-bridge.h>
|
|
|
|
|
|
/*
|
|
|
* Here comes the ppc64 implementation of the IOMAP
|
|
@@ -136,7 +137,12 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
|
|
|
|
|
|
void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
|
|
|
{
|
|
|
- /* Nothing to do */
|
|
|
+ if (isa_vaddr_is_ioport(addr))
|
|
|
+ return;
|
|
|
+ if (pcibios_vaddr_is_ioport(addr))
|
|
|
+ return;
|
|
|
+ iounmap(addr);
|
|
|
}
|
|
|
+
|
|
|
EXPORT_SYMBOL(pci_iomap);
|
|
|
EXPORT_SYMBOL(pci_iounmap);
|