ehea: 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. Also, linux/device.h is added to make sure the devm_*() routine declarations are unambiguously available. 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> Compile-Tested-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c3aad35e48
commit
09b38aa1e7
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
|
||||||
|
#include <linux/device.h>
|
||||||
#include <linux/in.h>
|
#include <linux/in.h>
|
||||||
#include <linux/ip.h>
|
#include <linux/ip.h>
|
||||||
#include <linux/tcp.h>
|
#include <linux/tcp.h>
|
||||||
|
@ -3273,7 +3274,7 @@ static int ehea_probe_adapter(struct platform_device *dev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);
|
adapter = devm_kzalloc(&dev->dev, sizeof(*adapter), GFP_KERNEL);
|
||||||
if (!adapter) {
|
if (!adapter) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
dev_err(&dev->dev, "no mem for ehea_adapter\n");
|
dev_err(&dev->dev, "no mem for ehea_adapter\n");
|
||||||
|
@ -3359,7 +3360,6 @@ out_kill_eq:
|
||||||
|
|
||||||
out_free_ad:
|
out_free_ad:
|
||||||
list_del(&adapter->list);
|
list_del(&adapter->list);
|
||||||
kfree(adapter);
|
|
||||||
|
|
||||||
out:
|
out:
|
||||||
ehea_update_firmware_handles();
|
ehea_update_firmware_handles();
|
||||||
|
@ -3386,7 +3386,6 @@ static int ehea_remove(struct platform_device *dev)
|
||||||
ehea_destroy_eq(adapter->neq);
|
ehea_destroy_eq(adapter->neq);
|
||||||
ehea_remove_adapter_mr(adapter);
|
ehea_remove_adapter_mr(adapter);
|
||||||
list_del(&adapter->list);
|
list_del(&adapter->list);
|
||||||
kfree(adapter);
|
|
||||||
|
|
||||||
ehea_update_firmware_handles();
|
ehea_update_firmware_handles();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue