]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: sun4i_csi: Implement link validate for sun4i_csi subdev
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 18 Jun 2024 23:46:16 +0000 (02:46 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:08:23 +0000 (15:08 +0200)
commit 2dc5d5d401f5c6cecd97800ffef82e8d17d228f0 upstream.

The sun4i_csi driver doesn't implement link validation for the subdev it
registers, leaving the link between the subdev and its source
unvalidated. Fix it, using the v4l2_subdev_link_validate() helper.

Fixes: 577bbf23b758 ("media: sunxi: Add A10 CSI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c

index 64f25921463e940ca3df634710198b7ecff76313..1efaa1d0948b0b92bf9c54c86f70afbf6355c024 100644 (file)
@@ -40,6 +40,10 @@ static const struct media_entity_operations sun4i_csi_video_entity_ops = {
        .link_validate = v4l2_subdev_link_validate,
 };
 
+static const struct media_entity_operations sun4i_csi_subdev_entity_ops = {
+       .link_validate = v4l2_subdev_link_validate,
+};
+
 static int sun4i_csi_notify_bound(struct v4l2_async_notifier *notifier,
                                  struct v4l2_subdev *subdev,
                                  struct v4l2_async_subdev *asd)
@@ -245,6 +249,7 @@ static int sun4i_csi_probe(struct platform_device *pdev)
        v4l2_subdev_init(subdev, &sun4i_csi_subdev_ops);
        subdev->flags = V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
        subdev->entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
+       subdev->entity.ops = &sun4i_csi_subdev_entity_ops;
        subdev->owner = THIS_MODULE;
        snprintf(subdev->name, sizeof(subdev->name), "sun4i-csi-0");
        v4l2_set_subdevdata(subdev, csi);