of: Add for_each_endpoint_of_node helper macro
Note that while of_graph_get_next_endpoint decrements the reference count of the child node passed to it, of_node_put(child) still has to be called manually when breaking out of the loop. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
f033c0bcc5
commit
ee8905963e
|
@ -26,6 +26,17 @@ struct of_endpoint {
|
|||
const struct device_node *local_node;
|
||||
};
|
||||
|
||||
/**
|
||||
* for_each_endpoint_of_node - iterate over every endpoint in a device node
|
||||
* @parent: parent device node containing ports and endpoints
|
||||
* @child: loop variable pointing to the current endpoint node
|
||||
*
|
||||
* When breaking out of the loop, of_node_put(child) has to be called manually.
|
||||
*/
|
||||
#define for_each_endpoint_of_node(parent, child) \
|
||||
for (child = of_graph_get_next_endpoint(parent, NULL); child != NULL; \
|
||||
child = of_graph_get_next_endpoint(parent, child))
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
int of_graph_parse_endpoint(const struct device_node *node,
|
||||
struct of_endpoint *endpoint);
|
||||
|
|
Loading…
Reference in New Issue