Browse Source

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>
Michael S. Tsirkin 14 years ago
parent
commit
5322418502

+ 1 - 0
arch/frv/Kconfig

@@ -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

+ 1 - 1
arch/frv/include/asm/io.h

@@ -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)
 {
 {
 }
 }

+ 1 - 1
arch/frv/mb93090-mb00/Makefile

@@ -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

+ 0 - 29
arch/frv/mb93090-mb00/pci-iomap.c

@@ -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);