All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andres Salomon <dilinger@queued.net>
To: devicetree-discuss@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org, x86@kernel.org, tglx@linutronix.de,
	mingo@redhat.com, hpa@zytor.com, cjb@laptop.org,
	Mitch Bradley <wmb@laptop.org>,
	pgf@laptop.org, linux-kernel@vger.kernel.org,
	davem@davemloft.net, grant.likely@secretlab.ca,
	Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Subject: [PATCH 5/9] of: no longer call prom_ functions directly; use an ops
Date: Mon, 30 Aug 2010 03:58:53 +0000	[thread overview]
Message-ID: <20100830000040.6390b7ad@debxo> (raw)
In-Reply-To: <20100829235100.6dcedcb8@debxo>


Rather than assuming an architecture defines prom_getchild and friends,
define an ops struct with hooks for the various prom functions that
pdt.c needs.  This ops struct is filled in by the
arch-(and sometimes firmware-)specific code, and passed to
of_pdt_build_devicetree.

Update sparc code to define the ops struct as well.

Signed-off-by: Andres Salomon <dilinger@queued.net>
---
 arch/sparc/kernel/prom_common.c |   37 ++++++++++++++++++++++++++++++++++++-
 drivers/of/pdt.c                |   39 ++++++++++++++++++---------------------
 include/linux/of_pdt.h          |   20 +++++++++++++++++++-
 3 files changed, 73 insertions(+), 23 deletions(-)

diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c
index fe84d56..0972b39 100644
--- a/arch/sparc/kernel/prom_common.c
+++ b/arch/sparc/kernel/prom_common.c
@@ -118,11 +118,46 @@ int of_find_in_proplist(const char *list, const char *match, int len)
 }
 EXPORT_SYMBOL(of_find_in_proplist);
 
+/*
+ * SPARC32 and SPARC64's prom_nextprop() do things differently
+ * here, despite sharing the same interface.  SPARC32 doesn't fill in 'buf',
+ * returning NULL on an error.  SPARC64 fills in 'buf', but sets it to an
+ * empty string upon error.
+ */
+static int __init handle_nextprop_quirks(char *buf, const char *name)
+{
+	if (!name || strlen(name) = 0)
+		return -1;
+
+#ifdef CONFIG_SPARC32
+	strcpy(buf, name);
+#endif
+	return 0;
+}
+
+static int __init prom_common_nextprop(phandle node, const char *prev,
+		char *buf)
+{
+	const char *name;
+
+	buf[0] = '\0';
+	name = prom_nextprop(node, prev, buf);
+	return handle_nextprop_quirks(buf, name);
+}
+
 unsigned int prom_early_allocated __initdata;
 
+static struct of_pdt_ops prom_sparc_ops __initdata = {
+	.nextprop = prom_common_nextprop,
+	.getproplen = prom_getproplen,
+	.getproperty = prom_getproperty,
+	.getchild = prom_getchild,
+	.getsibling = prom_getsibling,
+};
+
 void __init prom_build_devicetree(void)
 {
-	of_pdt_build_devicetree(prom_root_node);
+	of_pdt_build_devicetree(prom_root_node, &prom_sparc_ops);
 	of_console_init();
 
 	pr_info("PROM: Built device tree with %u bytes of memory.\n",
diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c
index f0872b6..fd02fc1 100644
--- a/drivers/of/pdt.c
+++ b/drivers/of/pdt.c
@@ -24,6 +24,8 @@
 #include <linux/of_pdt.h>
 #include <asm/prom.h>
 
+static struct of_pdt_ops *of_pdt_prom_ops __initdata;
+
 void __initdata (*prom_build_more)(struct device_node *dp,
 		struct device_node ***nextp);
 
@@ -58,7 +60,7 @@ static struct property * __init build_one_prop(phandle node, char *prev,
 {
 	static struct property *tmp = NULL;
 	struct property *p;
-	const char *name;
+	int err;
 
 	if (tmp) {
 		p = tmp;
@@ -76,28 +78,20 @@ static struct property * __init build_one_prop(phandle node, char *prev,
 		p->value = prom_early_alloc(special_len);
 		memcpy(p->value, special_val, special_len);
 	} else {
-		if (prev = NULL) {
-			name = prom_firstprop(node, p->name);
-		} else {
-			name = prom_nextprop(node, prev, p->name);
-		}
-
-		if (!name || strlen(name) = 0) {
+		err = of_pdt_prom_ops->nextprop(node, prev, p->name);
+		if (err) {
 			tmp = p;
 			return NULL;
 		}
-#ifdef CONFIG_SPARC32
-		strcpy(p->name, name);
-#endif
-		p->length = prom_getproplen(node, p->name);
+		p->length = of_pdt_prom_ops->getproplen(node, p->name);
 		if (p->length <= 0) {
 			p->length = 0;
 		} else {
 			int len;
 
 			p->value = prom_early_alloc(p->length + 1);
-			len = prom_getproperty(node, p->name, p->value,
-					       p->length);
+			len = of_pdt_prom_ops->getproperty(node, p->name,
+					p->value, p->length);
 			if (len <= 0)
 				p->length = 0;
 			((unsigned char *)p->value)[p->length] = '\0';
@@ -129,10 +123,10 @@ static char * __init get_one_property(phandle node, const char *name)
 	char *buf = "<NULL>";
 	int len;
 
-	len = prom_getproplen(node, name);
+	len = of_pdt_prom_ops->getproplen(node, name);
 	if (len > 0) {
 		buf = prom_early_alloc(len);
-		len = prom_getproperty(node, name, buf, len);
+		len = of_pdt_prom_ops->getproperty(node, name, buf, len);
 	}
 
 	return buf;
@@ -210,21 +204,25 @@ static struct device_node * __init prom_build_tree(struct device_node *parent,
 #endif
 		dp->full_name = build_full_name(dp);
 
-		dp->child = prom_build_tree(dp, prom_getchild(node), nextp);
+		dp->child = prom_build_tree(dp,
+				of_pdt_prom_ops->getchild(node), nextp);
 
 		if (prom_build_more)
 			prom_build_more(dp, nextp);
 
-		node = prom_getsibling(node);
+		node = of_pdt_prom_ops->getsibling(node);
 	}
 
 	return ret;
 }
 
-void __init of_pdt_build_devicetree(phandle root_node)
+void __init of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops)
 {
 	struct device_node **nextp;
 
+	BUG_ON(!ops);
+	of_pdt_prom_ops = ops;
+
 	allnodes = prom_create_node(root_node, NULL);
 #if defined(CONFIG_SPARC)
 	allnodes->path_component_name = "";
@@ -233,6 +231,5 @@ void __init of_pdt_build_devicetree(phandle root_node)
 
 	nextp = &allnodes->allnext;
 	allnodes->child = prom_build_tree(allnodes,
-					  prom_getchild(allnodes->phandle),
-					  &nextp);
+			of_pdt_prom_ops->getchild(allnodes->phandle), &nextp);
 }
diff --git a/include/linux/of_pdt.h b/include/linux/of_pdt.h
index c0a8774..7acabff 100644
--- a/include/linux/of_pdt.h
+++ b/include/linux/of_pdt.h
@@ -13,10 +13,28 @@
 #ifndef _LINUX_OF_PDT_H
 #define _LINUX_OF_PDT_H
 
+/* overridable operations for calling into the PROM */
+struct of_pdt_ops {
+	/*
+	 * buf should be 32 bytes; return 0 on success.
+	 * If prev is NULL, the first property will be returned.
+	 */
+	int (*nextprop)(phandle node, const char *prev, char *buf);
+
+	/* for both functions, return proplen on success; -1 on error */
+	int (*getproplen)(phandle node, const char *prop);
+	int (*getproperty)(phandle node, const char *prop, char *buf,
+			int bufsize);
+
+	/* phandles are 0 if no child or sibling exists */
+	phandle (*getchild)(phandle parent);
+	phandle (*getsibling)(phandle node);
+};
+
 extern void *prom_early_alloc(unsigned long size);
 
 /* for building the device tree */
-extern void of_pdt_build_devicetree(phandle root_node);
+extern void of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops);
 
 extern void (*prom_build_more)(struct device_node *dp,
 		struct device_node ***nextp);
-- 
1.5.6.5


WARNING: multiple messages have this Message-ID (diff)
From: Andres Salomon <dilinger@queued.net>
To: devicetree-discuss@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org, x86@kernel.org, tglx@linutronix.de,
	mingo@redhat.com, hpa@zytor.com, cjb@laptop.org,
	Mitch Bradley <wmb@laptop.org>,
	pgf@laptop.org, linux-kernel@vger.kernel.org,
	davem@davemloft.net, grant.likely@secretlab.ca,
	Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Subject: [PATCH 5/9] of: no longer call prom_ functions directly; use an ops structure
Date: Mon, 30 Aug 2010 00:00:40 -0400	[thread overview]
Message-ID: <20100830000040.6390b7ad@debxo> (raw)
In-Reply-To: <20100829235100.6dcedcb8@debxo>


Rather than assuming an architecture defines prom_getchild and friends,
define an ops struct with hooks for the various prom functions that
pdt.c needs.  This ops struct is filled in by the
arch-(and sometimes firmware-)specific code, and passed to
of_pdt_build_devicetree.

Update sparc code to define the ops struct as well.

Signed-off-by: Andres Salomon <dilinger@queued.net>
---
 arch/sparc/kernel/prom_common.c |   37 ++++++++++++++++++++++++++++++++++++-
 drivers/of/pdt.c                |   39 ++++++++++++++++++---------------------
 include/linux/of_pdt.h          |   20 +++++++++++++++++++-
 3 files changed, 73 insertions(+), 23 deletions(-)

diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c
index fe84d56..0972b39 100644
--- a/arch/sparc/kernel/prom_common.c
+++ b/arch/sparc/kernel/prom_common.c
@@ -118,11 +118,46 @@ int of_find_in_proplist(const char *list, const char *match, int len)
 }
 EXPORT_SYMBOL(of_find_in_proplist);
 
+/*
+ * SPARC32 and SPARC64's prom_nextprop() do things differently
+ * here, despite sharing the same interface.  SPARC32 doesn't fill in 'buf',
+ * returning NULL on an error.  SPARC64 fills in 'buf', but sets it to an
+ * empty string upon error.
+ */
+static int __init handle_nextprop_quirks(char *buf, const char *name)
+{
+	if (!name || strlen(name) == 0)
+		return -1;
+
+#ifdef CONFIG_SPARC32
+	strcpy(buf, name);
+#endif
+	return 0;
+}
+
+static int __init prom_common_nextprop(phandle node, const char *prev,
+		char *buf)
+{
+	const char *name;
+
+	buf[0] = '\0';
+	name = prom_nextprop(node, prev, buf);
+	return handle_nextprop_quirks(buf, name);
+}
+
 unsigned int prom_early_allocated __initdata;
 
+static struct of_pdt_ops prom_sparc_ops __initdata = {
+	.nextprop = prom_common_nextprop,
+	.getproplen = prom_getproplen,
+	.getproperty = prom_getproperty,
+	.getchild = prom_getchild,
+	.getsibling = prom_getsibling,
+};
+
 void __init prom_build_devicetree(void)
 {
-	of_pdt_build_devicetree(prom_root_node);
+	of_pdt_build_devicetree(prom_root_node, &prom_sparc_ops);
 	of_console_init();
 
 	pr_info("PROM: Built device tree with %u bytes of memory.\n",
diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c
index f0872b6..fd02fc1 100644
--- a/drivers/of/pdt.c
+++ b/drivers/of/pdt.c
@@ -24,6 +24,8 @@
 #include <linux/of_pdt.h>
 #include <asm/prom.h>
 
+static struct of_pdt_ops *of_pdt_prom_ops __initdata;
+
 void __initdata (*prom_build_more)(struct device_node *dp,
 		struct device_node ***nextp);
 
@@ -58,7 +60,7 @@ static struct property * __init build_one_prop(phandle node, char *prev,
 {
 	static struct property *tmp = NULL;
 	struct property *p;
-	const char *name;
+	int err;
 
 	if (tmp) {
 		p = tmp;
@@ -76,28 +78,20 @@ static struct property * __init build_one_prop(phandle node, char *prev,
 		p->value = prom_early_alloc(special_len);
 		memcpy(p->value, special_val, special_len);
 	} else {
-		if (prev == NULL) {
-			name = prom_firstprop(node, p->name);
-		} else {
-			name = prom_nextprop(node, prev, p->name);
-		}
-
-		if (!name || strlen(name) == 0) {
+		err = of_pdt_prom_ops->nextprop(node, prev, p->name);
+		if (err) {
 			tmp = p;
 			return NULL;
 		}
-#ifdef CONFIG_SPARC32
-		strcpy(p->name, name);
-#endif
-		p->length = prom_getproplen(node, p->name);
+		p->length = of_pdt_prom_ops->getproplen(node, p->name);
 		if (p->length <= 0) {
 			p->length = 0;
 		} else {
 			int len;
 
 			p->value = prom_early_alloc(p->length + 1);
-			len = prom_getproperty(node, p->name, p->value,
-					       p->length);
+			len = of_pdt_prom_ops->getproperty(node, p->name,
+					p->value, p->length);
 			if (len <= 0)
 				p->length = 0;
 			((unsigned char *)p->value)[p->length] = '\0';
@@ -129,10 +123,10 @@ static char * __init get_one_property(phandle node, const char *name)
 	char *buf = "<NULL>";
 	int len;
 
-	len = prom_getproplen(node, name);
+	len = of_pdt_prom_ops->getproplen(node, name);
 	if (len > 0) {
 		buf = prom_early_alloc(len);
-		len = prom_getproperty(node, name, buf, len);
+		len = of_pdt_prom_ops->getproperty(node, name, buf, len);
 	}
 
 	return buf;
@@ -210,21 +204,25 @@ static struct device_node * __init prom_build_tree(struct device_node *parent,
 #endif
 		dp->full_name = build_full_name(dp);
 
-		dp->child = prom_build_tree(dp, prom_getchild(node), nextp);
+		dp->child = prom_build_tree(dp,
+				of_pdt_prom_ops->getchild(node), nextp);
 
 		if (prom_build_more)
 			prom_build_more(dp, nextp);
 
-		node = prom_getsibling(node);
+		node = of_pdt_prom_ops->getsibling(node);
 	}
 
 	return ret;
 }
 
-void __init of_pdt_build_devicetree(phandle root_node)
+void __init of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops)
 {
 	struct device_node **nextp;
 
+	BUG_ON(!ops);
+	of_pdt_prom_ops = ops;
+
 	allnodes = prom_create_node(root_node, NULL);
 #if defined(CONFIG_SPARC)
 	allnodes->path_component_name = "";
@@ -233,6 +231,5 @@ void __init of_pdt_build_devicetree(phandle root_node)
 
 	nextp = &allnodes->allnext;
 	allnodes->child = prom_build_tree(allnodes,
-					  prom_getchild(allnodes->phandle),
-					  &nextp);
+			of_pdt_prom_ops->getchild(allnodes->phandle), &nextp);
 }
diff --git a/include/linux/of_pdt.h b/include/linux/of_pdt.h
index c0a8774..7acabff 100644
--- a/include/linux/of_pdt.h
+++ b/include/linux/of_pdt.h
@@ -13,10 +13,28 @@
 #ifndef _LINUX_OF_PDT_H
 #define _LINUX_OF_PDT_H
 
+/* overridable operations for calling into the PROM */
+struct of_pdt_ops {
+	/*
+	 * buf should be 32 bytes; return 0 on success.
+	 * If prev is NULL, the first property will be returned.
+	 */
+	int (*nextprop)(phandle node, const char *prev, char *buf);
+
+	/* for both functions, return proplen on success; -1 on error */
+	int (*getproplen)(phandle node, const char *prop);
+	int (*getproperty)(phandle node, const char *prop, char *buf,
+			int bufsize);
+
+	/* phandles are 0 if no child or sibling exists */
+	phandle (*getchild)(phandle parent);
+	phandle (*getsibling)(phandle node);
+};
+
 extern void *prom_early_alloc(unsigned long size);
 
 /* for building the device tree */
-extern void of_pdt_build_devicetree(phandle root_node);
+extern void of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops);
 
 extern void (*prom_build_more)(struct device_node *dp,
 		struct device_node ***nextp);
-- 
1.5.6.5


  parent reply	other threads:[~2010-08-30  3:58 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-29  1:54 [PATCH 0/4] RFC: OLPC/x86 device tree code Andres Salomon
2010-06-29  1:54 ` Andres Salomon
2010-06-29  2:00 ` [PATCH 1/4] x86: OLPC: constify an olpc_ofw() arg Andres Salomon
2010-06-29  2:00   ` Andres Salomon
2010-07-31  1:10   ` [tip:x86/olpc] x86, olpc: Constify " tip-bot for Andres Salomon
2010-06-29  2:00 ` [PATCH 2/4] sparc: break out some prom device-tree building code Andres Salomon
2010-06-29  2:00   ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Andres Salomon
2010-06-29  3:11   ` [PATCH 2/4] sparc: break out some prom device-tree building David Miller
2010-06-29  3:11     ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of David Miller
2010-06-29  3:11     ` David Miller
2010-06-29  6:15   ` [PATCH 2/4] sparc: break out some prom device-tree building Stephen Rothwell
2010-06-29  6:15     ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Stephen Rothwell
2010-06-29  7:50   ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-06-29  7:50     ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-06-29  7:50     ` Grant Likely
2010-06-29 15:03     ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-06-29 15:03       ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Andres Salomon
2010-06-29 21:42       ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-06-29 21:42         ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-06-29 21:42         ` Grant Likely
2010-06-29 23:36         ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-06-29 23:36           ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Andres Salomon
2010-06-30 21:52           ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-06-30 21:52             ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-06-30 21:52             ` Grant Likely
     [not found]             ` <AANLkTilme2uAoXjorUEzam9j_xosR8kl70W8PS71d-Th-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-06  2:17               ` Andres Salomon
2010-07-07  4:07                 ` Andres Salomon
2010-07-06  2:17                 ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-07-06  2:22                 ` David Miller
2010-07-06  2:22                   ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of David Miller
     [not found]                   ` <20100705.192221.241453945.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-07-06  3:24                     ` Andres Salomon
2010-07-07  5:15                       ` Andres Salomon
2010-07-06  3:25                       ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-07-06 10:17                       ` Benjamin Herrenschmidt
2010-07-06 10:17                         ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Benjamin Herrenschmidt
2010-07-06 10:17                         ` Benjamin Herrenschmidt
2010-07-06  3:25                   ` Andres Salomon
2010-07-06  3:25                   ` Andres Salomon
2010-07-06  7:00                   ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-07-06  7:00                     ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-07-06  7:00                     ` Grant Likely
2010-07-06  7:16                     ` [PATCH 2/4] sparc: break out some prom device-tree building David Miller
2010-07-06  7:16                       ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of David Miller
2010-07-06  8:17                       ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-07-06  8:17                         ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-07-06  8:17                         ` Grant Likely
2010-07-06  8:17                 ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-07-06  8:17                   ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-07-06  8:17                   ` Grant Likely
2010-07-06  2:17             ` Andres Salomon
2010-07-06  2:17             ` Andres Salomon
2010-07-06  9:21   ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-07-06  9:21     ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-07-06  9:21     ` Grant Likely
2010-07-06 21:54     ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-07-06 21:54       ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Andres Salomon
2010-07-06 21:54       ` Andres Salomon
2010-07-06 22:06       ` [PATCH 2/4] sparc: break out some prom device-tree building code Grant Likely
2010-07-06 22:06         ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Grant Likely
2010-07-06 22:06         ` Grant Likely
2010-07-07  1:15         ` [PATCH 2/4] sparc: break out some prom device-tree building Andres Salomon
2010-07-07  1:15           ` [PATCH 2/4] sparc: break out some prom device-tree building code out into drivers/of Andres Salomon
2010-06-29  2:00 ` [PATCH 3/4] proc: unify PROC_DEVICETREE config Andres Salomon
2010-06-29  2:00   ` Andres Salomon
2010-06-29  7:33   ` Grant Likely
2010-06-29  7:33     ` Grant Likely
2010-06-29  7:33     ` Grant Likely
2010-06-29  2:00 ` [PATCH 4/4] x86: OLPC: add OLPC device-tree support Andres Salomon
2010-06-29  2:00   ` Andres Salomon
2010-06-29  8:12   ` Grant Likely
2010-06-29  8:12     ` Grant Likely
2010-06-29  8:12     ` Grant Likely
     [not found]     ` <AANLkTinUy_FGuN9DiF5KtMCsqYUbByfS6g2Mdw0ATvtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-29  8:33       ` Stephen Rothwell
2010-06-29  8:33         ` Stephen Rothwell
2010-06-29  8:33         ` Stephen Rothwell
2010-06-29 14:23       ` Andres Salomon
2010-06-29 14:23         ` Andres Salomon
2010-06-29 14:23         ` Andres Salomon
     [not found]         ` <20100629102339.5e8a30b6-ztAUm9HJea/EueBKFXcDjA@public.gmane.org>
2010-06-30 21:13           ` Grant Likely
2010-06-30 21:13             ` Grant Likely
2010-06-30 21:13             ` Grant Likely
     [not found]             ` <AANLkTik7rqaGz7RtsOlhoSZw_-6bhv43YlWETsB17__4-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-30 21:32               ` Andres Salomon
2010-06-30 21:32                 ` Andres Salomon
2010-06-30 21:32                 ` Andres Salomon
2010-08-30  3:51 ` [PATCH 0/9] " Andres Salomon
2010-08-30  3:51   ` Andres Salomon
2010-08-30  3:53   ` [PATCH 1/9] of: move phandle/ihandle into types.h Andres Salomon
2010-08-30  3:53     ` Andres Salomon
2010-08-30  5:06     ` Sam Ravnborg
2010-08-30  5:06       ` Sam Ravnborg
2010-09-03  7:33       ` Andres Salomon
2010-09-03  8:17         ` Andres Salomon
2010-09-05  6:22         ` Sam Ravnborg
2010-09-05  6:22           ` Sam Ravnborg
2010-08-30  3:55   ` [PATCH 2/9] sparc: convert various prom_* functions to use phandle Andres Salomon
2010-08-30  3:55     ` Andres Salomon
2010-08-30  3:57   ` [PATCH 3/9] sparc: break out some PROM device-tree building code Andres Salomon
2010-08-30  3:57     ` [PATCH 3/9] sparc: break out some PROM device-tree building code out into drivers/of Andres Salomon
2010-08-30  3:58   ` Andres Salomon [this message]
2010-08-30  4:00     ` [PATCH 5/9] of: no longer call prom_ functions directly; use an ops structure Andres Salomon
2010-08-30  3:59   ` [PATCH 4/9] sparc: make drivers/of/pdt.c no longer sparc-only Andres Salomon
2010-08-30  3:59     ` Andres Salomon
2010-08-30  4:02   ` [PATCH 6/9] of: add of_pdt namespace to pdt code Andres Salomon
2010-08-30  4:02     ` Andres Salomon
2010-08-30  4:04   ` [PATCH 7/9] of: add package-to-path support to pdt Andres Salomon
2010-08-30  4:04     ` Andres Salomon
2010-08-30  4:06   ` [PATCH 8/9] x86: of: irq additions to make drivers/of/* build on Andres Salomon
2010-08-30  4:06     ` [PATCH 8/9] x86: of: irq additions to make drivers/of/* build on x86 Andres Salomon
2010-08-30  4:06     ` Andres Salomon
2010-08-30 15:58     ` Stephen Neuendorffer
2010-08-30 15:58       ` Stephen Neuendorffer
2010-08-30 15:58       ` Stephen Neuendorffer
     [not found]       ` <c7823e09-3ce8-434f-98f4-6a84a996c942-RaUQJvECHitZbvUCbuG1mrjjLBE8jN/0@public.gmane.org>
2010-08-30 17:31         ` Grant Likely
2010-08-30 17:31           ` Grant Likely
2010-08-30 17:31           ` Grant Likely
2010-08-30  4:07   ` [PATCH 9/9] x86: OLPC: add OLPC device-tree support Andres Salomon
2010-08-30  4:07     ` Andres Salomon
2010-08-30  4:07     ` Andres Salomon
2010-08-30 18:14     ` Grant Likely
2010-08-30 18:14       ` Grant Likely
2010-08-30 18:14       ` Grant Likely
     [not found]       ` <AANLkTi=EMkZLiAG7-ni8_7K=qtAriv=AfSUZ58661jNY-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-30 18:49         ` Andres Salomon
2010-08-30 18:49           ` Andres Salomon
2010-08-30 18:49           ` Andres Salomon
2010-08-31  5:49           ` Grant Likely
2010-08-31  5:49             ` Grant Likely
2010-08-31  5:49             ` Grant Likely
2010-08-30 17:58   ` [PATCH 0/9] " Grant Likely
2010-08-30 17:58     ` Grant Likely
2010-08-30 17:58     ` Grant Likely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100830000040.6390b7ad@debxo \
    --to=dilinger@queued.net \
    --cc=cjb@laptop.org \
    --cc=davem@davemloft.net \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pgf@laptop.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=stephen.neuendorffer@xilinx.com \
    --cc=tglx@linutronix.de \
    --cc=wmb@laptop.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.