Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −21
Original line number Original line Diff line number Diff line
@@ -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;


+0 −21
Original line number Original line Diff line number Diff line
@@ -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"
+0 −12
Original line number Original line Diff line number Diff line
@@ -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;
+21 −0
Original line number Original line Diff line number Diff line
@@ -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