]> git.karo-electronics.de Git - karo-tx-linux.git/commit
i2c-smbus: Convert kzalloc to devm_kzalloc
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 7 Oct 2012 22:26:13 +0000 (09:26 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Sun, 7 Oct 2012 22:26:13 +0000 (09:26 +1100)
commitb4e32a1a570db20ab37a5e98980f4587b501a554
tree75632bf1c1e91a28bc76cc72c96e5a007a1e4305
parent4cb27a0399248aefcca22a4e35c57dc5a2f14843
i2c-smbus: Convert kzalloc to devm_kzalloc

Converting kzalloc to devm_kzalloc simplifies the code and ensures that the
result, alert, is freed after the irq allocated by the subsequent
devm_request_irq.  This in turn ensures that when an interrupt can be
triggered, the alert structure is still available.

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: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/i2c-smbus.c