diff options
author | David S. Miller <davem@davemloft.net> | 2006-06-29 21:35:14 (GMT) |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-29 23:37:14 (GMT) |
commit | 95714e12dfb4794ee120f058fdf763e61baaad82 (patch) | |
tree | d092f799f94cba809f55069dd1236feff71550a1 /arch/sparc/kernel | |
parent | cf44bbc26cf1361b692ab68c884f6a0df7da2fdb (diff) | |
download | linux-95714e12dfb4794ee120f058fdf763e61baaad82.tar.xz |
[SPARC]: Encode I/O space into resource flags on sparc32.
On sparc64 we don't need to do this because the resource
values are large enough to encode the full physical address.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/of_device.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c index 13a70bd..3ebe6cc 100644 --- a/arch/sparc/kernel/of_device.c +++ b/arch/sparc/kernel/of_device.c @@ -488,9 +488,9 @@ static void __init build_device_resources(struct of_device *op, build_res: memset(r, 0, sizeof(*r)); if (result != OF_BAD_ADDR) { - r->start = result; + r->start = result & 0xffffffff; r->end = result + size - 1; - r->flags = flags; + r->flags = flags | ((result >> 32ULL) & 0xffUL); } else { r->start = ~0UL; r->end = ~0UL; |