frv: switch to GENERIC_PCI_IOMAP

frv uses a version of pci_iomap that simply
casts and returns back the start address.
Looking closely, both ioremap and ioport_map seem to
do this on this platform, so the generic pci_iomap
will DTRT automatically.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Michael S. Tsirkin 2011-11-29 21:20:06 +02:00
parent 8455012130
commit 5322418502
4 changed files with 3 additions and 31 deletions

View file

@ -317,6 +317,7 @@ config PCI
bool "Use PCI" bool "Use PCI"
depends on MB93090_MB00 depends on MB93090_MB00
default y default y
select GENERIC_PCI_IOMAP
help help
Some FR-V systems (such as the MB93090-MB00 VDK) have PCI Some FR-V systems (such as the MB93090-MB00 VDK) have PCI
onboard. If you have one of these boards and you wish to use the PCI onboard. If you have one of these boards and you wish to use the PCI

View file

@ -21,6 +21,7 @@
#include <asm/virtconvert.h> #include <asm/virtconvert.h>
#include <asm/string.h> #include <asm/string.h>
#include <asm/mb-regs.h> #include <asm/mb-regs.h>
#include <asm-generic/pci_iomap.h>
#include <linux/delay.h> #include <linux/delay.h>
/* /*
@ -370,7 +371,6 @@ static inline void iowrite32_rep(void __iomem *p, const void *src, unsigned long
/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
struct pci_dev; struct pci_dev;
extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
static inline void pci_iounmap(struct pci_dev *dev, void __iomem *p) static inline void pci_iounmap(struct pci_dev *dev, void __iomem *p)
{ {
} }

View file

@ -3,7 +3,7 @@
# #
ifeq "$(CONFIG_PCI)" "y" ifeq "$(CONFIG_PCI)" "y"
obj-y := pci-frv.o pci-irq.o pci-vdk.o pci-iomap.o obj-y := pci-frv.o pci-irq.o pci-vdk.o
ifeq "$(CONFIG_MMU)" "y" ifeq "$(CONFIG_MMU)" "y"
obj-y += pci-dma.o obj-y += pci-dma.o

View file

@ -1,29 +0,0 @@
/* pci-iomap.c: description
*
* Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#include <linux/pci.h>
#include <linux/module.h>
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 ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM))
return (void __iomem *) start;
return NULL;
}
EXPORT_SYMBOL(pci_iomap);