[media] soc_camera: Use devm_kzalloc function
authorSachin Kamat <sachin.kamat@linaro.org>
Wed, 5 Sep 2012 11:25:26 +0000 (08:25 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 6 Oct 2012 12:12:36 +0000 (09:12 -0300)
devm_kzalloc() has been used to simplify error handling.
While at it, the soc_camera_device_register function has been moved to
save a few lines of code and a variable.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
[g.liakhovetski@gmx.de: remove a superfluous empty line]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/soc_camera/soc_camera.c

index 1234767..96c3c6e 100644 (file)
@@ -1529,12 +1529,11 @@ static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev)
 {
        struct soc_camera_link *icl = pdev->dev.platform_data;
        struct soc_camera_device *icd;
-       int ret;
 
        if (!icl)
                return -EINVAL;
 
-       icd = kzalloc(sizeof(*icd), GFP_KERNEL);
+       icd = devm_kzalloc(&pdev->dev, sizeof(*icd), GFP_KERNEL);
        if (!icd)
                return -ENOMEM;
 
@@ -1543,19 +1542,10 @@ static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev)
        icd->pdev = &pdev->dev;
        platform_set_drvdata(pdev, icd);
 
-       ret = soc_camera_device_register(icd);
-       if (ret < 0)
-               goto escdevreg;
-
        icd->user_width         = DEFAULT_WIDTH;
        icd->user_height        = DEFAULT_HEIGHT;
 
-       return 0;
-
-escdevreg:
-       kfree(icd);
-
-       return ret;
+       return soc_camera_device_register(icd);
 }
 
 /*
@@ -1572,8 +1562,6 @@ static int __devexit soc_camera_pdrv_remove(struct platform_device *pdev)
 
        list_del(&icd->list);
 
-       kfree(icd);
-
        return 0;
 }