This patch moves data allocated using kzalloc to managed data allocated
using devm_kzalloc and cleans now unnecessary kfree in probe function.
The following Coccinelle semantic patch was used for making 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);
  ...+>
}
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
 {
        struct mpc52xx_gpt_priv *gpt;
 
-       gpt = kzalloc(sizeof *gpt, GFP_KERNEL);
+       gpt = devm_kzalloc(&ofdev->dev, sizeof *gpt, GFP_KERNEL);
        if (!gpt)
                return -ENOMEM;
 
        gpt->dev = &ofdev->dev;
        gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->dev.of_node);
        gpt->regs = of_iomap(ofdev->dev.of_node, 0);
-       if (!gpt->regs) {
-               kfree(gpt);
+       if (!gpt->regs)
                return -ENOMEM;
-       }
 
        dev_set_drvdata(&ofdev->dev, gpt);