linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/7] Store the base address in dcr_host_t
@ 2007-09-17  6:05 Michael Ellerman
  2007-09-17  6:05 ` [PATCH 3/7] Use dcr_host_t.base in ibm_emac_mal Michael Ellerman
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Michael Ellerman @ 2007-09-17  6:05 UTC (permalink / raw)
  To: linuxppc-dev

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>
---
 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)
-- 
1.5.1.3.g7a33b

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2007-10-02  6:22 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-17  6:05 [PATCH 1/7] Store the base address in dcr_host_t Michael Ellerman
2007-09-17  6:05 ` [PATCH 3/7] Use dcr_host_t.base in ibm_emac_mal Michael Ellerman
2007-10-02  5:13   ` Benjamin Herrenschmidt
2007-10-02  6:06     ` Michael Ellerman
2007-09-17  6:05 ` [PATCH 2/7] Update mpic to use dcr_host_t.base Michael Ellerman
2007-10-02  5:12   ` Benjamin Herrenschmidt
2007-09-17  6:05 ` [PATCH 4/7] Update axon_msi " Michael Ellerman
2007-10-02  5:14   ` Benjamin Herrenschmidt
2007-09-17  6:05 ` [PATCH 5/7] Add dcr_host_t.base in dcr_read()/dcr_write() Michael Ellerman
2007-10-02  5:17   ` Benjamin Herrenschmidt
2007-09-17  6:05 ` [PATCH 6/7] Add dcr_map_reg() helper Michael Ellerman
2007-10-02  5:19   ` Benjamin Herrenschmidt
2007-10-02  5:51     ` Michael Ellerman
2007-10-02  6:22       ` Benjamin Herrenschmidt
2007-09-17  6:05 ` [PATCH 7/7] Remove msic_dcr_read() and use dcr_map_reg() in axon_msi.c Michael Ellerman
2007-10-02  5:20   ` Benjamin Herrenschmidt
2007-10-02  5:10 ` [PATCH 1/7] Store the base address in dcr_host_t Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).