diff options
author | David S. Miller <davem@davemloft.net> | 2006-06-29 17:35:14 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-29 19:37:14 -0400 |
commit | 95714e12dfb4794ee120f058fdf763e61baaad82 (patch) | |
tree | d092f799f94cba809f55069dd1236feff71550a1 /arch/sparc | |
parent | cf44bbc26cf1361b692ab68c884f6a0df7da2fdb (diff) |
[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')
-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 13a70bd87817..3ebe6cc71e71 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, | |||
488 | build_res: | 488 | build_res: |
489 | memset(r, 0, sizeof(*r)); | 489 | memset(r, 0, sizeof(*r)); |
490 | if (result != OF_BAD_ADDR) { | 490 | if (result != OF_BAD_ADDR) { |
491 | r->start = result; | 491 | r->start = result & 0xffffffff; |
492 | r->end = result + size - 1; | 492 | r->end = result + size - 1; |
493 | r->flags = flags; | 493 | r->flags = flags | ((result >> 32ULL) & 0xffUL); |
494 | } else { | 494 | } else { |
495 | r->start = ~0UL; | 495 | r->start = ~0UL; |
496 | r->end = ~0UL; | 496 | r->end = ~0UL; |