Thread (38 messages) 38 messages, 8 authors, 2014-03-11

Re: [PATCH v6 4/8] of: Reduce indentation in of_graph_get_next_endpoint

From: Philipp Zabel <p.zabel@pengutronix.de>
Date: 2014-03-11 11:06:53
Also in: linux-media, lkml

Hi Laurent,

Am Montag, den 10.03.2014, 20:19 +0100 schrieb Laurent Pinchart:
On Friday 07 March 2014 18:40:54 Philipp Zabel wrote:
quoted
While we look at of_graph_get_next_endpoint(), could you explain the
reason behind the extra reference count increase on the prev node:

	/*
	 * Avoid dropping prev node refcount to 0 when getting the next
	 * child below.
	 */
	of_node_get(prev);

This unfortunately makes using the function in for_each style macros a
hassle. If that part wasn't there and all users that want to keep using
prev after the call were expected to increase refcount themselves,
we could have a

#define of_graph_for_each_endpoint(parent, endpoint) \
	for (endpoint = of_graph_get_next_endpoint(parent, NULL); \
	     endpoint != NULL; \
	     endpoint = of_graph_get_next_endpoint(parent, endpoint))
I don't know what the exact design decision was (Sylwester might know), but I 
suspect it's mostly about historical reasons. I see no reason that would 
prevent modifying the current behaviour to make a for-each loop easier to 
implement.
Thanks, I'll include a patch to change this in the next round, then.

regards
Philipp
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help