[SPARC]: Encode I/O space into resource flags on sparc32.
authorDavid S. Miller <davem@davemloft.net>
Thu, 29 Jun 2006 21:35:14 +0000 (14:35 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 29 Jun 2006 23:37:14 +0000 (16:37 -0700)
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>
arch/sparc/kernel/of_device.c

index 13a70bd8781708815048e03629b946cf1eed3f06..3ebe6cc71e719fdfddf682b5bf0dcde157a42305 100644 (file)
@@ -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;