tree 3cdd2d99e0fa1067a1873287662590fc92f575d8
parent 0eccc9cb4c1443c2665466e35f6e138381b8afd9
author Julia Lawall <Julia.Lawall@lip6.fr> 1450715984 +0100
committer Linus Walleij <linus.walleij@linaro.org> 1450788240 +0100

pinctrl-tegra: add missing of_node_put

for_each_child_of_node performs an of_node_get on each iteration, so a
return from the loop requires an of_node_put.

A simplified version of the semantic patch that fixes this problem is as
follows (http://coccinelle.lip6.fr):

// <smpl>
@@
local idexpression n;
expression e,e1;
@@

 for_each_child_of_node(e1,n) {
   ...
(
   of_node_put(n);
|
   e = n
|
   return n;
|
+  of_node_put(n);
?  return ...;
)
   ...
 }
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
