From: Grant Likely <grant.likely@secretlab.ca>
To: linuxppc-dev@lists.ozlabs.org, benh@kernel.crashing.org,
Stephen Rothwell <sfr@canb.auug.org.au>,
davem@davemloft.net, sparclinux@vger.kernel.org,
monstr@monstr.eu, microblaze-uclinux@itee.uq.edu.au,
devicetree-discuss@lists.ozlabs.org
Subject: [RFC PATCH 12/12] of: merge of_find_all_nodes() implementations
Date: Tue, 06 Oct 2009 22:32:27 -0600 [thread overview]
Message-ID: <20091007043219.16890.40203.stgit@angua> (raw)
In-Reply-To: <20091007041007.16890.62194.stgit@angua>
Merge common code between Microblaze and PowerPC, and make it available
to Sparc
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---
arch/microblaze/kernel/prom.c | 23 -----------------------
arch/powerpc/kernel/prom.c | 23 -----------------------
drivers/of/base.c | 26 +++++++++++++++++++++++++-
include/linux/of.h | 3 ++-
4 files changed, 27 insertions(+), 48 deletions(-)
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
index c005cc6..b817df1 100644
--- a/arch/microblaze/kernel/prom.c
+++ b/arch/microblaze/kernel/prom.c
@@ -860,29 +860,6 @@ struct device_node *of_find_node_by_phandle(phandle handle)
EXPORT_SYMBOL(of_find_node_by_phandle);
/**
- * of_find_all_nodes - Get next node in global list
- * @prev: Previous node or NULL to start iteration
- * of_node_put() will be called on it
- *
- * Returns a node pointer with refcount incremented, use
- * of_node_put() on it when done.
- */
-struct device_node *of_find_all_nodes(struct device_node *prev)
-{
- struct device_node *np;
-
- read_lock(&devtree_lock);
- np = prev ? prev->allnext : allnodes;
- for (; np != NULL; np = np->allnext)
- if (of_node_get(np))
- break;
- of_node_put(prev);
- read_unlock(&devtree_lock);
- return np;
-}
-EXPORT_SYMBOL(of_find_all_nodes);
-
-/**
* of_node_get - Increment refcount of a node
* @node: Node to inc refcount, NULL is supported to
* simplify writing of callers
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index d4405b9..4ec3008 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -1317,29 +1317,6 @@ struct device_node *of_find_next_cache_node(struct device_node *np)
}
/**
- * of_find_all_nodes - Get next node in global list
- * @prev: Previous node or NULL to start iteration
- * of_node_put() will be called on it
- *
- * Returns a node pointer with refcount incremented, use
- * of_node_put() on it when done.
- */
-struct device_node *of_find_all_nodes(struct device_node *prev)
-{
- struct device_node *np;
-
- read_lock(&devtree_lock);
- np = prev ? prev->allnext : allnodes;
- for (; np != 0; np = np->allnext)
- if (of_node_get(np))
- break;
- of_node_put(prev);
- read_unlock(&devtree_lock);
- return np;
-}
-EXPORT_SYMBOL(of_find_all_nodes);
-
-/**
* of_node_get - Increment refcount of a node
* @node: Node to inc refcount, NULL is supported to
* simplify writing of callers
diff --git a/drivers/of/base.c b/drivers/of/base.c
index ddf224d..e6627b2 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -9,7 +9,8 @@
*
* Adapted for sparc and sparc64 by David S. Miller davem@davemloft.net
*
- * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell.
+ * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and
+ * Grant Likely.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -82,6 +83,29 @@ struct property *of_find_property(const struct device_node *np,
}
EXPORT_SYMBOL(of_find_property);
+/**
+ * of_find_all_nodes - Get next node in global list
+ * @prev: Previous node or NULL to start iteration
+ * of_node_put() will be called on it
+ *
+ * Returns a node pointer with refcount incremented, use
+ * of_node_put() on it when done.
+ */
+struct device_node *of_find_all_nodes(struct device_node *prev)
+{
+ struct device_node *np;
+
+ read_lock(&devtree_lock);
+ np = prev ? prev->allnext : allnodes;
+ for (; np != NULL; np = np->allnext)
+ if (of_node_get(np))
+ break;
+ of_node_put(prev);
+ read_unlock(&devtree_lock);
+ return np;
+}
+EXPORT_SYMBOL(of_find_all_nodes);
+
/*
* Find a property with a given name for a given node
* and return the value.
diff --git a/include/linux/of.h b/include/linux/of.h
index 4636bba..e7facd8 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -79,6 +79,8 @@ set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
dn->pde = de;
}
+extern struct device_node *of_find_all_nodes(struct device_node *prev);
+
#if defined(CONFIG_SPARC)
/* Dummy ref counting routines - to be implemented later */
static inline struct device_node *of_node_get(struct device_node *node)
@@ -90,7 +92,6 @@ static inline void of_node_put(struct device_node *node)
}
#else
-extern struct device_node *of_find_all_nodes(struct device_node *prev);
extern struct device_node *of_node_get(struct device_node *node);
extern void of_node_put(struct device_node *node);
#endif
next prev parent reply other threads:[~2009-10-07 4:32 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-07 4:29 [RFC PATCH 00/12] Merge common OpenFirmware device tree code Grant Likely
2009-10-07 4:30 ` [RFC PATCH 01/12] of: Rework linux/of.h and asm/prom.h include ordering Grant Likely
2009-10-07 4:30 ` [RFC PATCH 02/12] of: merge phandle, ihandle and struct property Grant Likely
2009-10-07 4:30 ` [RFC PATCH 03/12] of: merge struct device_node Grant Likely
2009-10-07 4:30 ` [RFC PATCH 04/12] of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h Grant Likely
2009-10-07 4:30 ` [RFC PATCH 05/12] of: add common header for flattened device tree representation Grant Likely
2009-10-07 4:57 ` Stephen Rothwell
2009-10-07 12:14 ` [microblaze-uclinux] " Michal Simek
2009-10-07 13:38 ` Grant Likely
2009-10-07 14:07 ` Michal Simek
2009-10-07 5:14 ` Benjamin Herrenschmidt
2009-10-07 13:41 ` Grant Likely
2009-10-09 6:35 ` David Gibson
2009-10-09 7:07 ` Grant Likely
2009-10-14 4:47 ` David Gibson
2009-10-07 4:31 ` [RFC PATCH 06/12] of: merge struct boot_param_header from Microblaze and PowerPC Grant Likely
2009-10-07 4:31 ` [RFC PATCH 07/12] of: merge of_node_*_flag() and set_node_proc_entry() Grant Likely
2009-10-07 4:31 ` [RFC PATCH 08/12] of: merge of_read_number() an of_read_ulong() Grant Likely
2009-10-07 4:31 ` [RFC PATCH 09/12] of: merge of_node_get(), of_node_put() and of_find_all_nodes() Grant Likely
2009-10-07 4:32 ` [RFC PATCH 10/12] of: merge of_*_flat_dt*() functions Grant Likely
2009-10-09 6:36 ` David Gibson
2009-10-09 7:03 ` Grant Likely
2009-10-07 4:32 ` [RFC PATCH 11/12] of: merge other miscellaneous prototypes Grant Likely
2009-10-07 4:32 ` Grant Likely [this message]
2009-10-07 4:49 ` [RFC PATCH 00/12] Merge common OpenFirmware device tree code Grant Likely
2009-10-07 5:18 ` Julian Calaby
2009-10-07 13:52 ` Sam Creasey
2009-10-07 19:30 ` Mitch Bradley
2009-10-07 20:54 ` Chris Newport
2009-10-07 21:09 ` David Miller
2009-10-08 1:29 ` Chris Newport
2009-10-08 4:39 ` David Miller
2009-10-08 13:24 ` Kjetil Oftedal
2009-10-07 22:57 ` Brad Boyer
2009-10-07 7:09 ` Rob Landley
2009-10-07 14:02 ` Grant Likely
2009-10-07 14:21 ` [microblaze-uclinux] " Michal Simek
2009-10-07 7:27 ` David Miller
2009-10-07 16:39 ` Stephen Neuendorffer
2009-10-07 9:02 ` Wolfram Sang
2009-10-15 1:00 ` Stephen Rothwell
2009-10-15 1:01 ` [PATCH 1/2] of: create asm/of.h Stephen Rothwell
2009-10-15 1:02 ` [PATCH 2/2] of: move struct property to asm/of.h Stephen Rothwell
2009-10-15 17:06 ` [RFC PATCH 00/12] Merge common OpenFirmware device tree code Grant Likely
2009-10-15 23:38 ` Stephen Rothwell
2009-10-16 3:18 ` 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=20091007043219.16890.40203.stgit@angua \
--to=grant.likely@secretlab.ca \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=monstr@monstr.eu \
--cc=sfr@canb.auug.org.au \
--cc=sparclinux@vger.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 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).