microblaze: switch to GENERIC_PCI_IOMAP

microblaze 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/microblaze/include/asm/io.h
defines ioremap_nocache same as ioremap.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Michael S. Tsirkin 2011-11-24 21:06:41 +02:00
parent e5bfb72ce2
commit 1b34d16073
2 changed files with 1 additions and 19 deletions

View File

@ -17,6 +17,7 @@ config MICROBLAZE
select HAVE_GENERIC_HARDIRQS select HAVE_GENERIC_HARDIRQS
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_PCI_IOMAP
config SWAP config SWAP
def_bool n def_bool n

View File

@ -10,25 +10,6 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/pci-bridge.h> #include <asm/pci-bridge.h>
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;
}
EXPORT_SYMBOL(pci_iomap);
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))