diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-08-01 12:22:53 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-09-25 23:36:32 +0300 |
commit | 375123976f71367c2e14921179149f52b2225746 (patch) | |
tree | ae0ab2d143d3f9ce2ded784166310dbd0cb99476 /drivers/media/platform/soc_camera/atmel-isi.c | |
parent | 9626d03e8dd4bb0c4def6e42c29c7f674d9f8e41 (diff) | |
download | linux-375123976f71367c2e14921179149f52b2225746.tar.xz |
[media] v4l: atmel-isi: Simplify error handling during DT parsing
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>
Diffstat (limited to 'drivers/media/platform/soc_camera/atmel-isi.c')
-rw-r--r-- | drivers/media/platform/soc_camera/atmel-isi.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/media/platform/soc_camera/atmel-isi.c b/drivers/media/platform/soc_camera/atmel-isi.c index a3ddec73fe5c..0f23984bb6aa 100644 --- a/drivers/media/platform/soc_camera/atmel-isi.c +++ b/drivers/media/platform/soc_camera/atmel-isi.c @@ -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) |