@@ -1641,11 +1641,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=video->ctrl_handler.error;if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init controls: %d\n",rc);-returnrc;+gotoerr_ctrl_init;}v4l2_dev->ctrl_handler=&video->ctrl_handler;
@@ -1663,11 +1660,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=vb2_queue_init(vbq);if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init vb2 queue\n");-returnrc;+gotoerr_vb2_init;}vdev->queue=vbq;
@@ -1685,15 +1679,19 @@ static int aspeed_video_setup_video(struct aspeed_video *video)video_set_drvdata(vdev,video);rc=video_register_device(vdev,VFL_TYPE_GRABBER,0);if(rc){-vb2_queue_release(vbq);-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to register video device\n");-returnrc;+gotoerr_video_reg;}return0;++err_video_reg:+vb2_queue_release(vbq);+err_vb2_init:+err_ctrl_init:+v4l2_ctrl_handler_free(&video->ctrl_handler);+v4l2_device_unregister(v4l2_dev);+returnrc;}staticintaspeed_video_init(structaspeed_video*video)
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
@@ -1641,11 +1641,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=video->ctrl_handler.error;if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init controls: %d\n",rc);-returnrc;+gotoerr_ctrl_init;}v4l2_dev->ctrl_handler=&video->ctrl_handler;
@@ -1663,11 +1660,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=vb2_queue_init(vbq);if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init vb2 queue\n");-returnrc;+gotoerr_vb2_init;}vdev->queue=vbq;
@@ -1685,15 +1679,19 @@ static int aspeed_video_setup_video(struct aspeed_video *video)video_set_drvdata(vdev,video);rc=video_register_device(vdev,VFL_TYPE_GRABBER,0);if(rc){-vb2_queue_release(vbq);-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to register video device\n");-returnrc;+gotoerr_video_reg;}return0;++err_video_reg:+vb2_queue_release(vbq);+err_vb2_init:+err_ctrl_init:+v4l2_ctrl_handler_free(&video->ctrl_handler);+v4l2_device_unregister(v4l2_dev);+returnrc;}staticintaspeed_video_init(structaspeed_video*video)
From: Sakari Ailus <sakari.ailus@linux.intel.com> Date: 2021-12-14 19:02:01
Hi Mauro,
On Tue, Dec 14, 2021 at 03:53:00PM +0100, Mauro Carvalho Chehab wrote:
Em Mon, 6 Dec 2021 08:48:11 +0800
Jammy Huang [off-list ref] escreveu:
quoted
refine aspeed_video_setup_video() flow.
Why? It makes no difference where the error handling code is. Let's
keep it as preferred by the driver's author ;-)
Doing error handling can be done in different ways of course, but I think
it's easier to see it's right as it's done by this patch. Of course the
original author's --- like anyone else's --- review wouldn't hurt. But I
see he hasn't reviewed other recent patches to the driver either.
A better description would be nice though, including capital letter
beginning a sentence.
@@ -1641,11 +1641,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=video->ctrl_handler.error;if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init controls: %d\n",rc);-returnrc;+gotoerr_ctrl_init;}v4l2_dev->ctrl_handler=&video->ctrl_handler;
@@ -1663,11 +1660,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=vb2_queue_init(vbq);if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init vb2 queue\n");-returnrc;+gotoerr_vb2_init;}vdev->queue=vbq;
@@ -1685,15 +1679,19 @@ static int aspeed_video_setup_video(struct aspeed_video *video)video_set_drvdata(vdev,video);rc=video_register_device(vdev,VFL_TYPE_GRABBER,0);if(rc){-vb2_queue_release(vbq);-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to register video device\n");-returnrc;+gotoerr_video_reg;}return0;++err_video_reg:+vb2_queue_release(vbq);+err_vb2_init:+err_ctrl_init:+v4l2_ctrl_handler_free(&video->ctrl_handler);+v4l2_device_unregister(v4l2_dev);+returnrc;}staticintaspeed_video_init(structaspeed_video*video)
Hi Sakari,
Thanks for your review.
On 2021/12/15 上午 02:32, Sakari Ailus wrote:
Hi Mauro,
On Tue, Dec 14, 2021 at 03:53:00PM +0100, Mauro Carvalho Chehab wrote:
quoted
Em Mon, 6 Dec 2021 08:48:11 +0800
Jammy Huang [off-list ref] escreveu:
quoted
refine aspeed_video_setup_video() flow.
Why? It makes no difference where the error handling code is. Let's
keep it as preferred by the driver's author ;-)
Doing error handling can be done in different ways of course, but I think
it's easier to see it's right as it's done by this patch. Of course the
original author's --- like anyone else's --- review wouldn't hurt. But I
see he hasn't reviewed other recent patches to the driver either.
A better description would be nice though, including capital letter
beginning a sentence.
@@ -1641,11 +1641,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=video->ctrl_handler.error;if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init controls: %d\n",rc);-returnrc;+gotoerr_ctrl_init;}v4l2_dev->ctrl_handler=&video->ctrl_handler;
@@ -1663,11 +1660,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=vb2_queue_init(vbq);if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init vb2 queue\n");-returnrc;+gotoerr_vb2_init;}vdev->queue=vbq;
@@ -1685,15 +1679,19 @@ static int aspeed_video_setup_video(struct aspeed_video *video)video_set_drvdata(vdev,video);rc=video_register_device(vdev,VFL_TYPE_GRABBER,0);if(rc){-vb2_queue_release(vbq);-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to register video device\n");-returnrc;+gotoerr_video_reg;}return0;++err_video_reg:+vb2_queue_release(vbq);+err_vb2_init:+err_ctrl_init:+v4l2_ctrl_handler_free(&video->ctrl_handler);+v4l2_device_unregister(v4l2_dev);+returnrc;}staticintaspeed_video_init(structaspeed_video*video)
Hi Mauro,
Because I saw similar error-handling in aspeed_video_init(), I just want
to make it clear and identical.
It's ok if not applied. Just style problem, as you said.
On 2021/12/14 下午 10:53, Mauro Carvalho Chehab wrote:
Em Mon, 6 Dec 2021 08:48:11 +0800
Jammy Huang [off-list ref] escreveu:
quoted
refine aspeed_video_setup_video() flow.
Why? It makes no difference where the error handling code is. Let's
keep it as preferred by the driver's author ;-)
Regards,
Mauro
@@ -1641,11 +1641,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=video->ctrl_handler.error;if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init controls: %d\n",rc);-returnrc;+gotoerr_ctrl_init;}v4l2_dev->ctrl_handler=&video->ctrl_handler;
@@ -1663,11 +1660,8 @@ static int aspeed_video_setup_video(struct aspeed_video *video)rc=vb2_queue_init(vbq);if(rc){-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to init vb2 queue\n");-returnrc;+gotoerr_vb2_init;}vdev->queue=vbq;
@@ -1685,15 +1679,19 @@ static int aspeed_video_setup_video(struct aspeed_video *video)video_set_drvdata(vdev,video);rc=video_register_device(vdev,VFL_TYPE_GRABBER,0);if(rc){-vb2_queue_release(vbq);-v4l2_ctrl_handler_free(&video->ctrl_handler);-v4l2_device_unregister(v4l2_dev);-dev_err(video->dev,"Failed to register video device\n");-returnrc;+gotoerr_video_reg;}return0;++err_video_reg:+vb2_queue_release(vbq);+err_vb2_init:+err_ctrl_init:+v4l2_ctrl_handler_free(&video->ctrl_handler);+v4l2_device_unregister(v4l2_dev);+returnrc;}staticintaspeed_video_init(structaspeed_video*video)