resource: dev_request_mem_region: fix return value for MIPS
The commit
commit 0d7a213345
Author: Antony Pavlov <antonynpavlov at gmail.com>
Date: Wed Sep 10 11:42:19 2014 +0400
MIPS: dts: use physical addresses (as Linux does)
With IOMEM() adapted for MIPS we can use physical addresses
in device tree reg property.
has switched MIPS dts files to physical addresses usage.
The patch was tested on qemu, but qemu malta board is tolerant
of using physical addresses for accesing to device
(Ingenic JZ4755 and JZ4780 processors are tolerant too!).
But other CPUs (e.g. Loongson LS1B) can throw an exception
in this situation.
Additional physical address to virtual address translation
on MIPS is needed.
We already have this in include/common.h
#if defined(CONFIG_MIPS)
#include <asm/addrspace.h>
#define IOMEM(addr) ((void __force __iomem *)CKSEG1ADDR(addr))
#else
#define IOMEM(addr) ((void __force __iomem *)(addr))
#endif
So use IOMEM() to fix dev_request_mem_region() return value.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
40662bbb59
commit
f9df80918d
|
@ -346,7 +346,7 @@ void __iomem *dev_request_mem_region(struct device_d *dev, int num)
|
|||
if (IS_ERR(res))
|
||||
return ERR_CAST(res);
|
||||
|
||||
return (void __force __iomem *)res->start;
|
||||
return IOMEM(res->start);
|
||||
}
|
||||
EXPORT_SYMBOL(dev_request_mem_region);
|
||||
|
||||
|
|
Loading…
Reference in New Issue