Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587
Commit:     0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587
Parent:     ca786f83a97d7897b013b1e9b290c9010b69af9b
Author:     Michael Ellerman <[EMAIL PROTECTED]>
AuthorDate: Mon Sep 17 16:05:00 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Wed Oct 3 13:25:27 2007 +1000

    [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 <[EMAIL PROTECTED]>
    Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/sysdev/dcr.c        |    2 +-
 include/asm-powerpc/dcr-mmio.h   |    6 +++++-
 include/asm-powerpc/dcr-native.h |    6 ++++--
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/sysdev/dcr.c b/arch/powerpc/sysdev/dcr.c
index e82d54d..ab11c0b 100644
--- a/arch/powerpc/sysdev/dcr.c
+++ b/arch/powerpc/sysdev/dcr.c
@@ -104,7 +104,7 @@ u64 of_translate_dcr_address(struct device_node *dev,
 dcr_host_t dcr_map(struct device_node *dev, unsigned int dcr_n,
                   unsigned int dcr_c)
 {
-       dcr_host_t ret = { .token = NULL, .stride = 0 };
+       dcr_host_t ret = { .token = NULL, .stride = 0, .base = dcr_n };
        u64 addr;
 
        pr_debug("dcr_map(%s, 0x%x, 0x%x)\n",
diff --git a/include/asm-powerpc/dcr-mmio.h b/include/asm-powerpc/dcr-mmio.h
index 5dbfca8..6b82c3b 100644
--- a/include/asm-powerpc/dcr-mmio.h
+++ b/include/asm-powerpc/dcr-mmio.h
@@ -23,7 +23,11 @@
 
 #include <asm/io.h>
 
-typedef struct { void __iomem *token; unsigned int stride; } dcr_host_t;
+typedef struct {
+       void __iomem *token;
+       unsigned int stride;
+       unsigned int base;
+} dcr_host_t;
 
 #define DCR_MAP_OK(host)       ((host).token != NULL)
 
diff --git a/include/asm-powerpc/dcr-native.h b/include/asm-powerpc/dcr-native.h
index 05af081..f41058c 100644
--- a/include/asm-powerpc/dcr-native.h
+++ b/include/asm-powerpc/dcr-native.h
@@ -22,11 +22,13 @@
 #ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 
-typedef struct {} dcr_host_t;
+typedef struct {
+       unsigned int base;
+} dcr_host_t;
 
 #define DCR_MAP_OK(host)       (1)
 
-#define dcr_map(dev, dcr_n, dcr_c)     ((dcr_host_t){})
+#define dcr_map(dev, dcr_n, dcr_c)     ((dcr_host_t){ .base = (dcr_n) })
 #define dcr_unmap(host, dcr_n, dcr_c)  do {} while (0)
 #define dcr_read(host, dcr_n)          mfdcr(dcr_n)
 #define dcr_write(host, dcr_n, value)  mtdcr(dcr_n, value)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to