diff options
author | Kiran Padwal <kiran.padwal@smartplayin.com> | 2015-02-13 05:52:10 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-03-02 14:45:57 -0300 |
commit | 92afdc1bf1f2100d6c634a131421cd112bad5a48 (patch) | |
tree | ff6e18bf6455564bf4d85d67b2ae2b227d4435b8 | |
parent | 50d8e46faf2a6db86f2281425780ff55030fd6c5 (diff) | |
download | op-kernel-dev-92afdc1bf1f2100d6c634a131421cd112bad5a48.zip op-kernel-dev-92afdc1bf1f2100d6c634a131421cd112bad5a48.tar.gz |
[media] staging: dt3155v4l: Switch to using managed resource with devm_
This patch uses managed resource APIs to allocate memory
in order to simplify the driver unload or failure cases
Signed-off-by: Kiran Padwal <kiran.padwal@smartplayin.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/staging/media/dt3155v4l/dt3155v4l.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/media/dt3155v4l/dt3155v4l.c b/drivers/staging/media/dt3155v4l/dt3155v4l.c index 293ffda..e60a53e 100644 --- a/drivers/staging/media/dt3155v4l/dt3155v4l.c +++ b/drivers/staging/media/dt3155v4l/dt3155v4l.c @@ -901,14 +901,13 @@ dt3155_probe(struct pci_dev *pdev, const struct pci_device_id *id) err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (err) return -ENODEV; - pd = kzalloc(sizeof(*pd), GFP_KERNEL); + pd = devm_kzalloc(&pdev->dev, sizeof(*pd), GFP_KERNEL); if (!pd) return -ENOMEM; pd->vdev = video_device_alloc(); - if (!pd->vdev) { - err = -ENOMEM; - goto err_video_device_alloc; - } + if (!pd->vdev) + return -ENOMEM; + *pd->vdev = dt3155_vdev; pci_set_drvdata(pdev, pd); /* for use in dt3155_remove() */ video_set_drvdata(pd->vdev, pd); /* for use in video_fops */ @@ -951,8 +950,7 @@ err_req_region: pci_disable_device(pdev); err_enable_dev: video_device_release(pd->vdev); -err_video_device_alloc: - kfree(pd); + return err; } @@ -970,7 +968,6 @@ dt3155_remove(struct pci_dev *pdev) * video_device_release() is invoked automatically * see: struct video_device dt3155_vdev */ - kfree(pd); } static const struct pci_device_id pci_ids[] = { |