Commit 89751a7c authored by Jeremy Kerr's avatar Jeremy Kerr Committed by Grant Likely

of: merge of_find_node_by_phandle

Merge common function between powerpc, sparc and microblaze. Code is
identical for powerpc and microblaze, but adds a lock (and release) of
the devtree_lock on sparc.
Signed-off-by: default avatarJeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent fcdeb7fe
...@@ -176,27 +176,6 @@ void __init early_init_devtree(void *params) ...@@ -176,27 +176,6 @@ void __init early_init_devtree(void *params)
* *
*******/ *******/
/**
* of_find_node_by_phandle - Find a node given a phandle
* @handle: phandle of the node to find
*
* Returns a node pointer with refcount incremented, use
* of_node_put() on it when done.
*/
struct device_node *of_find_node_by_phandle(phandle handle)
{
struct device_node *np;
read_lock(&devtree_lock);
for (np = allnodes; np != NULL; np = np->allnext)
if (np->phandle == handle)
break;
of_node_get(np);
read_unlock(&devtree_lock);
return np;
}
EXPORT_SYMBOL(of_find_node_by_phandle);
#if defined(CONFIG_DEBUG_FS) && defined(DEBUG) #if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
static struct debugfs_blob_wrapper flat_dt_blob; static struct debugfs_blob_wrapper flat_dt_blob;
......
...@@ -765,27 +765,6 @@ void __init early_init_devtree(void *params) ...@@ -765,27 +765,6 @@ void __init early_init_devtree(void *params)
* *
*******/ *******/
/**
* of_find_node_by_phandle - Find a node given a phandle
* @handle: phandle of the node to find
*
* Returns a node pointer with refcount incremented, use
* of_node_put() on it when done.
*/
struct device_node *of_find_node_by_phandle(phandle handle)
{
struct device_node *np;
read_lock(&devtree_lock);
for (np = allnodes; np != 0; np = np->allnext)
if (np->phandle == handle)
break;
of_node_get(np);
read_unlock(&devtree_lock);
return np;
}
EXPORT_SYMBOL(of_find_node_by_phandle);
/** /**
* of_find_next_cache_node - Find a node's subsidiary cache * of_find_next_cache_node - Find a node's subsidiary cache
* @np: node of type "cpu" or "cache" * @np: node of type "cpu" or "cache"
......
...@@ -37,18 +37,6 @@ EXPORT_SYMBOL(of_console_path); ...@@ -37,18 +37,6 @@ EXPORT_SYMBOL(of_console_path);
char *of_console_options; char *of_console_options;
EXPORT_SYMBOL(of_console_options); EXPORT_SYMBOL(of_console_options);
struct device_node *of_find_node_by_phandle(phandle handle)
{
struct device_node *np;
for (np = allnodes; np; np = np->allnext)
if (np->phandle == handle)
break;
return np;
}
EXPORT_SYMBOL(of_find_node_by_phandle);
int of_getintprop_default(struct device_node *np, const char *name, int def) int of_getintprop_default(struct device_node *np, const char *name, int def)
{ {
struct property *prop; struct property *prop;
......
...@@ -614,6 +614,27 @@ int of_modalias_node(struct device_node *node, char *modalias, int len) ...@@ -614,6 +614,27 @@ int of_modalias_node(struct device_node *node, char *modalias, int len)
} }
EXPORT_SYMBOL_GPL(of_modalias_node); EXPORT_SYMBOL_GPL(of_modalias_node);
/**
* of_find_node_by_phandle - Find a node given a phandle
* @handle: phandle of the node to find
*
* Returns a node pointer with refcount incremented, use
* of_node_put() on it when done.
*/
struct device_node *of_find_node_by_phandle(phandle handle)
{
struct device_node *np;
read_lock(&devtree_lock);
for (np = allnodes; np; np = np->allnext)
if (np->phandle == handle)
break;
of_node_get(np);
read_unlock(&devtree_lock);
return np;
}
EXPORT_SYMBOL(of_find_node_by_phandle);
/** /**
* of_parse_phandle - Resolve a phandle property to a device_node pointer * of_parse_phandle - Resolve a phandle property to a device_node pointer
* @np: Pointer to device node holding phandle property * @np: Pointer to device node holding phandle property
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment