tree b562defd5be29f7bae4874fcd759e285a7a86e55
parent 8af00860c913d5e814f3c10232a0f42e2a964b99
author Julia Lawall <julia@diku.dk> 1307537978 +0800
committer Herbert Xu <herbert@gondor.apana.org.au> 1309391041 +0800

hwrng: omap - add missing clk_put

Convert a return to a jump to an existing label that calls clk_put.

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

// <smpl>
@r exists@
expression e1,e2;
statement S;
@@

e1 = clk_get@p1(...);
... when != e1 = e2
    when != clk_put(e1)
    when any
if (...) { ... when != clk_put(e1)
               when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
 } else S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
