display7seg: Introduce the use of the managed version of kzalloc
authorHimangi Saraogi <himangi774@gmail.com>
Mon, 26 May 2014 21:32:07 +0000 (03:02 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Jul 2014 04:37:05 +0000 (21:37 -0700)
commit57a4a3d7f7568c487d5db3e26540bff958000255
tree447f335c094aace4df79f0e503742b1904fe544d
parentf6d4fb5cc0475c36437a618db31cbb7f2bf7c282
display7seg: Introduce the use of the managed version of kzalloc

This patch moves data allocated using kzalloc to managed data allocated
using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
functions. The header file is added to make the devm function explicitly
available.

The following Coccinelle semantic patch was used for making a part of
the change:

@platform@
identifier p, probefn, removefn;
@@
struct platform_driver p = {
  .probe = probefn,
  .remove = removefn,
};

@prb@
identifier platform.probefn, pdev;
expression e, e1, e2;
@@
probefn(struct platform_device *pdev, ...) {
  <+...
- e = kzalloc(e1, e2)
+ e = devm_kzalloc(&pdev->dev, e1, e2)
  ...
?-kfree(e);
  ...+>
}

@rem depends on prb@
identifier platform.removefn;
expression e;
@@
removefn(...) {
  <...
- kfree(e);
  ...>
}

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/sbus/char/display7seg.c