diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc/kernel/ioport.c | 2 | ||||
-rw-r--r-- | arch/sparc64/kernel/of_device.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index 00a39760877b..987ec6782f99 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c @@ -153,7 +153,7 @@ void __iomem *of_ioremap(struct resource *res, unsigned long offset, } EXPORT_SYMBOL(of_ioremap); -void of_iounmap(void __iomem *base, unsigned long size) +void of_iounmap(struct resource *res, void __iomem *base, unsigned long size) { iounmap(base); } diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c index cec0eceae552..b0f3e0082a0d 100644 --- a/arch/sparc64/kernel/of_device.c +++ b/arch/sparc64/kernel/of_device.c @@ -144,9 +144,12 @@ void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned lo } EXPORT_SYMBOL(of_ioremap); -void of_iounmap(void __iomem *base, unsigned long size) +void of_iounmap(struct resource *res, void __iomem *base, unsigned long size) { - release_region((unsigned long) base, size); + if (res->flags & IORESOURCE_MEM) + release_mem_region((unsigned long) base, size); + else + release_region((unsigned long) base, size); } EXPORT_SYMBOL(of_iounmap); |