aboutsummaryrefslogtreecommitdiff
path: root/arch/mn10300/unit-asb2305/pci-iomap.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mn10300/unit-asb2305/pci-iomap.c')
-rw-r--r--arch/mn10300/unit-asb2305/pci-iomap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/mn10300/unit-asb2305/pci-iomap.c b/arch/mn10300/unit-asb2305/pci-iomap.c
index c1a8d8f941f..bd65dae17f3 100644
--- a/arch/mn10300/unit-asb2305/pci-iomap.c
+++ b/arch/mn10300/unit-asb2305/pci-iomap.c
@@ -23,8 +23,12 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
if (!len || !start)
return NULL;
- if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM))
- return (void __iomem *) start;
+ if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) {
+ if (flags & IORESOURCE_CACHEABLE && !(flags & IORESOURCE_IO))
+ return ioremap(start, len);
+ else
+ return ioremap_nocache(start, len);
+ }
return NULL;
}