diff options
| author | Himangi Saraogi <himangi774@gmail.com> | 2014-05-22 22:58:48 +0400 | 
|---|---|---|
| committer | Brian Norris <computersforpeace@gmail.com> | 2014-05-29 00:27:55 +0400 | 
| commit | 0c53be9de8f25efadee707132a596276f0a015e4 (patch) | |
| tree | aa0c02356a27a1f1531bb1fe486a76f06ba0c0be | |
| parent | b7e460624f0f3c31150f3b09e75b0d009e22ba5f (diff) | |
| download | linux-0c53be9de8f25efadee707132a596276f0a015e4.tar.xz | |
mtd: bf5xx_nand: use 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. Also, the now unnecessary label out_err_hw_init is done away
with and the label out_err_kzalloc is renamed to out_err.
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);
  ...+>
}
@rem depends on prb@
identifier platform.removefn;
expression e;
@@
removefn(...) {
  <...
- kfree(e);
  ...>
}
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
| -rw-r--r-- | drivers/mtd/nand/bf5xx_nand.c | 13 | 
1 files changed, 4 insertions, 9 deletions
| diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c index b7a24946ca26..722898aea7a6 100644 --- a/drivers/mtd/nand/bf5xx_nand.c +++ b/drivers/mtd/nand/bf5xx_nand.c @@ -679,9 +679,6 @@ static int bf5xx_nand_remove(struct platform_device *pdev)  	peripheral_free_list(bfin_nfc_pin_req);  	bf5xx_nand_dma_remove(info); -	/* free the common resources */ -	kfree(info); -  	return 0;  } @@ -742,10 +739,10 @@ static int bf5xx_nand_probe(struct platform_device *pdev)  		return -EFAULT;  	} -	info = kzalloc(sizeof(*info), GFP_KERNEL); +	info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);  	if (info == NULL) {  		err = -ENOMEM; -		goto out_err_kzalloc; +		goto out_err;  	}  	platform_set_drvdata(pdev, info); @@ -790,7 +787,7 @@ static int bf5xx_nand_probe(struct platform_device *pdev)  	/* initialise the hardware */  	err = bf5xx_nand_hw_init(info);  	if (err) -		goto out_err_hw_init; +		goto out_err;  	/* setup hardware ECC data struct */  	if (hardware_ecc) { @@ -827,9 +824,7 @@ static int bf5xx_nand_probe(struct platform_device *pdev)  out_err_nand_scan:  	bf5xx_nand_dma_remove(info); -out_err_hw_init: -	kfree(info); -out_err_kzalloc: +out_err:  	peripheral_free_list(bfin_nfc_pin_req);  	return err; | 
