diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-02-24 13:57:32 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-06-27 07:38:29 +0100 |
commit | 56c8534e2d2f9bf789cdfc50e62bc30c992da69f (patch) | |
tree | 301bf6e290c7c8b1543c074d2a50e5d169ae5988 /drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c | |
parent | 945a9a8e448b65bec055d37eba58f711b39f66f0 (diff) | |
download | linux-stable-56c8534e2d2f9bf789cdfc50e62bc30c992da69f.tar.gz linux-stable-56c8534e2d2f9bf789cdfc50e62bc30c992da69f.tar.bz2 linux-stable-56c8534e2d2f9bf789cdfc50e62bc30c992da69f.zip |
media: rkisp1: capture: Initialize entity before video device
The media_entity embedded in the video_device needs to be initialized
before registering the video_device. Do so.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c')
-rw-r--r-- | drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c index fee2aaacb26b..e88749488969 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c @@ -1386,22 +1386,25 @@ static int rkisp1_register_capture(struct rkisp1_capture *cap) vdev->queue = q; + ret = media_entity_pads_init(&vdev->entity, 1, &node->pad); + if (ret) + return ret; + ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1); if (ret) { dev_err(cap->rkisp1->dev, "failed to register %s, ret=%d\n", vdev->name, ret); - return ret; + goto error; } + v4l2_info(v4l2_dev, "registered %s as /dev/video%d\n", vdev->name, vdev->num); - ret = media_entity_pads_init(&vdev->entity, 1, &node->pad); - if (ret) { - video_unregister_device(vdev); - return ret; - } - return 0; + +error: + media_entity_cleanup(&vdev->entity); + return ret; } static void |