• Julia Lawall's avatar
    clk: si5351: add missing of_node_put · a1bdfbaf
    Julia Lawall authored
    for_each_child_of_node performs an of_node_get on each iteration, so
    a break out of 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>
    @@
    expression root,e;
    local idexpression child;
    @@
    
     for_each_child_of_node(root, child) {
       ... when != of_node_put(child)
           when != e = child
    (
       return child;
    |
    +  of_node_put(child);
    ?  return ...;
    )
       ...
     }
    // </smpl>
    
    The resulting puts were manually moved to the end of the function for
    conciseness.
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    a1bdfbaf
clk-si5351.c 41.3 KB