dt: introduce of_get_child_by_name to get child node by name
This patch introduces of_get_child_by_name function to get a child node by its name in a given parent node. Without this patch each driver code has to iterate the parent and do a string compare, However having of_get_child_by_name libary function would avoid code duplication, errors and is more convenient. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Tento commit je obsažen v:

odevzdal
Rob Herring

rodič
ee67016fcc
revize
9c19761a7e
@@ -363,6 +363,29 @@ struct device_node *of_get_next_child(const struct device_node *node,
|
||||
}
|
||||
EXPORT_SYMBOL(of_get_next_child);
|
||||
|
||||
/**
|
||||
* of_get_child_by_name - Find the child node by name for a given parent
|
||||
* @node: parent node
|
||||
* @name: child name to look for.
|
||||
*
|
||||
* This function looks for child node for given matching name
|
||||
*
|
||||
* Returns a node pointer if found, with refcount incremented, use
|
||||
* of_node_put() on it when done.
|
||||
* Returns NULL if node is not found.
|
||||
*/
|
||||
struct device_node *of_get_child_by_name(const struct device_node *node,
|
||||
const char *name)
|
||||
{
|
||||
struct device_node *child;
|
||||
|
||||
for_each_child_of_node(node, child)
|
||||
if (child->name && (of_node_cmp(child->name, name) == 0))
|
||||
break;
|
||||
return child;
|
||||
}
|
||||
EXPORT_SYMBOL(of_get_child_by_name);
|
||||
|
||||
/**
|
||||
* of_find_node_by_path - Find a node matching a full OF path
|
||||
* @path: The full path to match
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele