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>
This commit is contained in:
parent
b7e460624f
commit
0c53be9de8
|
@ -679,9 +679,6 @@ static int bf5xx_nand_remove(struct platform_device *pdev)
|
||||||
peripheral_free_list(bfin_nfc_pin_req);
|
peripheral_free_list(bfin_nfc_pin_req);
|
||||||
bf5xx_nand_dma_remove(info);
|
bf5xx_nand_dma_remove(info);
|
||||||
|
|
||||||
/* free the common resources */
|
|
||||||
kfree(info);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -742,10 +739,10 @@ static int bf5xx_nand_probe(struct platform_device *pdev)
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
info = kzalloc(sizeof(*info), GFP_KERNEL);
|
info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
|
||||||
if (info == NULL) {
|
if (info == NULL) {
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
goto out_err_kzalloc;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
platform_set_drvdata(pdev, info);
|
platform_set_drvdata(pdev, info);
|
||||||
|
@ -790,7 +787,7 @@ static int bf5xx_nand_probe(struct platform_device *pdev)
|
||||||
/* initialise the hardware */
|
/* initialise the hardware */
|
||||||
err = bf5xx_nand_hw_init(info);
|
err = bf5xx_nand_hw_init(info);
|
||||||
if (err)
|
if (err)
|
||||||
goto out_err_hw_init;
|
goto out_err;
|
||||||
|
|
||||||
/* setup hardware ECC data struct */
|
/* setup hardware ECC data struct */
|
||||||
if (hardware_ecc) {
|
if (hardware_ecc) {
|
||||||
|
@ -827,9 +824,7 @@ static int bf5xx_nand_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
out_err_nand_scan:
|
out_err_nand_scan:
|
||||||
bf5xx_nand_dma_remove(info);
|
bf5xx_nand_dma_remove(info);
|
||||||
out_err_hw_init:
|
out_err:
|
||||||
kfree(info);
|
|
||||||
out_err_kzalloc:
|
|
||||||
peripheral_free_list(bfin_nfc_pin_req);
|
peripheral_free_list(bfin_nfc_pin_req);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue