diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2012-12-06 23:10:40 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-01-10 00:51:47 +0100 |
commit | 5f4d6214ef5e9b1ff6a72ddfa387c1d72adfac98 (patch) | |
tree | 66575b6bd2294fdeb4f007486bfdead5991b74ee /drivers/nfc | |
parent | 9e2d493e74aca105aa86de56dbf80a0a654c4c53 (diff) | |
download | kernel_goldelico_gta04-5f4d6214ef5e9b1ff6a72ddfa387c1d72adfac98.zip kernel_goldelico_gta04-5f4d6214ef5e9b1ff6a72ddfa387c1d72adfac98.tar.gz kernel_goldelico_gta04-5f4d6214ef5e9b1ff6a72ddfa387c1d72adfac98.tar.bz2 |
NFC: nfcwilink: Use devm_kzalloc
devm_kzalloc allocates memory that is released when a driver detaches.
This patch uses devm_kzalloc for data that is allocated in the probe
function of a platform device and is only freed in the remove function.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc')
-rw-r--r-- | drivers/nfc/nfcwilink.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/nfc/nfcwilink.c b/drivers/nfc/nfcwilink.c index 50b1ee4..c7c182d 100644 --- a/drivers/nfc/nfcwilink.c +++ b/drivers/nfc/nfcwilink.c @@ -526,7 +526,7 @@ static int nfcwilink_probe(struct platform_device *pdev) nfc_dev_dbg(&pdev->dev, "probe entry"); - drv = kzalloc(sizeof(struct nfcwilink), GFP_KERNEL); + drv = devm_kzalloc(&pdev->dev, sizeof(struct nfcwilink), GFP_KERNEL); if (!drv) { rc = -ENOMEM; goto exit; @@ -547,7 +547,7 @@ static int nfcwilink_probe(struct platform_device *pdev) if (!drv->ndev) { nfc_dev_err(&pdev->dev, "nci_allocate_device failed"); rc = -ENOMEM; - goto free_exit; + goto exit; } nci_set_parent_dev(drv->ndev, &pdev->dev); @@ -566,9 +566,6 @@ static int nfcwilink_probe(struct platform_device *pdev) free_dev_exit: nci_free_device(drv->ndev); -free_exit: - kfree(drv); - exit: return rc; } @@ -588,8 +585,6 @@ static int nfcwilink_remove(struct platform_device *pdev) nci_unregister_device(ndev); nci_free_device(ndev); - kfree(drv); - dev_set_drvdata(&pdev->dev, NULL); return 0; |