[media] v4l: atmel-isi: Simplify error handling during DT parsing
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sat, 1 Aug 2015 09:22:53 +0000 (06:22 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 25 Sep 2015 20:36:32 +0000 (17:36 -0300)
Put the endpoint DT node earlier to avoid the need for goto statements
to a cleanup code block in case of errors.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/soc_camera/atmel-isi.c

index a3ddec7..0f23984 100644 (file)
@@ -899,9 +899,10 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
        }
 
        err = v4l2_of_parse_endpoint(np, &ep);
+       of_node_put(np);
        if (err) {
                dev_err(&pdev->dev, "Could not parse the endpoint\n");
-               goto err_probe_dt;
+               return err;
        }
 
        switch (ep.bus.parallel.bus_width) {
@@ -915,14 +916,10 @@ static int atmel_isi_probe_dt(struct atmel_isi *isi,
        default:
                dev_err(&pdev->dev, "Unsupported bus width: %d\n",
                                ep.bus.parallel.bus_width);
-               err = -EINVAL;
-               goto err_probe_dt;
+               return -EINVAL;
        }
 
-err_probe_dt:
-       of_node_put(np);
-
-       return err;
+       return 0;
 }
 
 static int atmel_isi_probe(struct platform_device *pdev)