On Wed, Nov 21, 2012 at 9:53 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Tuesday 20 November 2012, Stephen Warren wrote: >> However, this results in iterating over table twice; the second time >> inside of_match_node(). The implementation of for_each_matching_node() >> already found the match, so this is redundant. Invent new function >> of_find_matching_node_and_match() and macro >> for_each_matching_node_and_match() to remove the double iteration, >> thus transforming the above code to: >> >> for_each_matching_node_and_match(np, table, &match) >> >> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> > > This look useful, but I wonder if the interface would make more sense if you > make the last argument to the macro a normal pointer, rather than a > pointer-to-pointer. You can take the reference as part of the macro. To me that makes for harder to understand code. It *looks* like an argument to a normal function call, but it gets changed by the caller. g. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html