mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-03 19:24:02 +08:00
[POWERPC] Make pci_iounmap actually unmap things
This patch uses the newly added functions for testing if an address is an ISA or PCI IO port to properly unmap things in pci_iounmap that aren't such ports. Without that, drivers using the iomap API will never actually unmap resources, which on IBM server machines will prevent hot-unplug of the corresponding HW adapters. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
6dfbde2091
commit
50747cb818
@ -7,6 +7,7 @@
|
|||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
#include <asm/pci-bridge.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Here comes the ppc64 implementation of the IOMAP
|
* 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)
|
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_iomap);
|
||||||
EXPORT_SYMBOL(pci_iounmap);
|
EXPORT_SYMBOL(pci_iounmap);
|
||||||
|
Loading…
Reference in New Issue
Block a user