Browse Source

mn10300: switch to GENERIC_PCI_IOMAP

The pci_iomap variant that arch/mn10300/unit-asb2305/pci-iomap.c
uses differs from the generic one in that it does
not use ioremap_nocache for PCI addresses.
However, it turns out that PCI addresses are
automatically noncached, so switching to ioremap_nocache
and to the generic implementation is safe.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Michael S. Tsirkin 13 years ago
parent
commit
34f1bdee19

+ 1 - 0
arch/mn10300/Kconfig

@@ -252,6 +252,7 @@ config PCI
 	bool "Use PCI"
 	bool "Use PCI"
 	depends on MN10300_UNIT_ASB2305
 	depends on MN10300_UNIT_ASB2305
 	default y
 	default y
+	select GENERIC_PCI_IOMAP
 	help
 	help
 	  Some systems (such as the ASB2305) have PCI onboard. If you have one
 	  Some systems (such as the ASB2305) have PCI onboard. If you have one
 	  of these boards and you wish to use the PCI facilities, say Y here.
 	  of these boards and you wish to use the PCI facilities, say Y here.

+ 0 - 1
arch/mn10300/include/asm/io.h

@@ -229,7 +229,6 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)
 
 
 /* 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/mn10300/unit-asb2305/Makefile

@@ -5,4 +5,4 @@
 ###############################################################################
 ###############################################################################
 obj-y   := unit-init.o leds.o
 obj-y   := unit-init.o leds.o
 
 
-obj-$(CONFIG_PCI) += pci.o pci-asb2305.o pci-irq.o pci-iomap.o
+obj-$(CONFIG_PCI) += pci.o pci-asb2305.o pci-irq.o

+ 0 - 31
arch/mn10300/unit-asb2305/pci-iomap.c

@@ -1,31 +0,0 @@
-/* ASB2305 PCI I/O mapping handler
- *
- * Copyright (C) 2007 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 Licence
- * as published by the Free Software Foundation; either version
- * 2 of the Licence, or (at your option) any later version.
- */
-#include <linux/pci.h>
-#include <linux/module.h>
-
-/*
- * Create a virtual mapping cookie for a PCI BAR (memory or IO)
- */
-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);