• Julia Lawall's avatar
    [media] drivers/media/platform/mx2_emmaprp.c: use devm_kzalloc and devm_clk_get · d1bb4b29
    Julia Lawall authored
    Using devm_kzalloc simplifies the code and ensures that the use of
    devm_request_irq is safe.  When kzalloc and kfree were used, the interrupt
    could be triggered after the handler's data argument had been freed.
    
    This also introduces some missing initializations of the return variable
    ret, and uses devm_request_and_ioremap instead of the combination of
    devm_request_mem_region and devm_ioremap.
    
    The problem of a free after a devm_request_irq was found using the
    following semantic match (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    expression e1,e2,x,a,b,c,d;
    identifier free;
    position p1,p2;
    @@
    
      devm_request_irq@p1(e1,e2,...,x)
      ... when any
          when != e2 = a
          when != x = b
      if (...) {
        ... when != e2 = c
            when != x = d
        free@p2(...,x,...);
        ...
        return ...;
      }
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    d1bb4b29
mx2_emmaprp.c 25.9 KB