diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-09-17 02:05:00 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-10-02 23:25:27 -0400 |
commit | 0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587 (patch) | |
tree | 04ada4951ef2a386d16f00d06bd78a4ce04ff65a /include | |
parent | ca786f83a97d7897b013b1e9b290c9010b69af9b (diff) |
[POWERPC] Store the base address in dcr_host_t
In its current form, dcr_map() doesn't remember the base address you passed
it, which means you need to store it somewhere else. Rather than adding the
base to another struct it seems simpler to store it in the dcr_host_t.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/dcr-mmio.h | 6 | ||||
-rw-r--r-- | include/asm-powerpc/dcr-native.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/include/asm-powerpc/dcr-mmio.h b/include/asm-powerpc/dcr-mmio.h index 5dbfca8dde36..6b82c3ba495a 100644 --- a/include/asm-powerpc/dcr-mmio.h +++ b/include/asm-powerpc/dcr-mmio.h | |||
@@ -23,7 +23,11 @@ | |||
23 | 23 | ||
24 | #include <asm/io.h> | 24 | #include <asm/io.h> |
25 | 25 | ||
26 | typedef struct { void __iomem *token; unsigned int stride; } dcr_host_t; | 26 | typedef struct { |
27 | void __iomem *token; | ||
28 | unsigned int stride; | ||
29 | unsigned int base; | ||
30 | } dcr_host_t; | ||
27 | 31 | ||
28 | #define DCR_MAP_OK(host) ((host).token != NULL) | 32 | #define DCR_MAP_OK(host) ((host).token != NULL) |
29 | 33 | ||
diff --git a/include/asm-powerpc/dcr-native.h b/include/asm-powerpc/dcr-native.h index 05af081222f6..f41058c0f6cb 100644 --- a/include/asm-powerpc/dcr-native.h +++ b/include/asm-powerpc/dcr-native.h | |||
@@ -22,11 +22,13 @@ | |||
22 | #ifdef __KERNEL__ | 22 | #ifdef __KERNEL__ |
23 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
24 | 24 | ||
25 | typedef struct {} dcr_host_t; | 25 | typedef struct { |
26 | unsigned int base; | ||
27 | } dcr_host_t; | ||
26 | 28 | ||
27 | #define DCR_MAP_OK(host) (1) | 29 | #define DCR_MAP_OK(host) (1) |
28 | 30 | ||
29 | #define dcr_map(dev, dcr_n, dcr_c) ((dcr_host_t){}) | 31 | #define dcr_map(dev, dcr_n, dcr_c) ((dcr_host_t){ .base = (dcr_n) }) |
30 | #define dcr_unmap(host, dcr_n, dcr_c) do {} while (0) | 32 | #define dcr_unmap(host, dcr_n, dcr_c) do {} while (0) |
31 | #define dcr_read(host, dcr_n) mfdcr(dcr_n) | 33 | #define dcr_read(host, dcr_n) mfdcr(dcr_n) |
32 | #define dcr_write(host, dcr_n, value) mtdcr(dcr_n, value) | 34 | #define dcr_write(host, dcr_n, value) mtdcr(dcr_n, value) |