[PATCH 04/50] staging: media: imx: imx7-media-csi: Drop duplicate link creation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The imx_media_create_csi2_links() creates a media controller link
between the CSI-2 receiver and the next entity in the pipeline, which
can be either a video mux (handled by the video-mux driver) or the CSI
bridge itself. This isn't needed, as the link is already created either
by the video-mux driver or by the imx7-media-csi driver itself (in
imx7_csi_notify_bound()).

Drop imx_media_create_csi2_links(), which allows dropping the CSI bridge
subdev grp_id.

Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
---
 drivers/staging/media/imx/imx7-media-csi.c | 31 ----------------------
 1 file changed, 31 deletions(-)

diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index 708076b7045a..e2d6dabad007 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -726,34 +726,6 @@ static inline struct imx_media_dev *notifier2dev(struct v4l2_async_notifier *n)
 	return container_of(n, struct imx_media_dev, notifier);
 }
 
-/*
- * Create the missing media links from the CSI-2 receiver.
- * Called after all async subdevs have bound.
- */
-static void imx_media_create_csi2_links(struct imx_media_dev *imxmd)
-{
-	struct v4l2_subdev *sd, *csi2 = NULL;
-
-	list_for_each_entry(sd, &imxmd->v4l2_dev.subdevs, list) {
-		if (sd->grp_id == IMX_MEDIA_GRP_ID_CSI2) {
-			csi2 = sd;
-			break;
-		}
-	}
-	if (!csi2)
-		return;
-
-	list_for_each_entry(sd, &imxmd->v4l2_dev.subdevs, list) {
-		/* skip if not a CSI or a CSI mux */
-		if (!(sd->grp_id & IMX_MEDIA_GRP_ID_IPU_CSI) &&
-		    !(sd->grp_id & IMX_MEDIA_GRP_ID_CSI) &&
-		    !(sd->grp_id & IMX_MEDIA_GRP_ID_CSI_MUX))
-			continue;
-
-		v4l2_create_fwnode_links(csi2, sd);
-	}
-}
-
 /*
  * adds given video device to given imx-media source pad vdev list.
  * Continues upstream from the pad entity's sink pads.
@@ -883,8 +855,6 @@ static int __imx_media_probe_complete(struct v4l2_async_notifier *notifier)
 
 	mutex_lock(&imxmd->mutex);
 
-	imx_media_create_csi2_links(imxmd);
-
 	ret = imx_media_create_pad_vdev_lists(imxmd);
 	if (ret)
 		goto unlock;
@@ -1477,7 +1447,6 @@ static int imx7_csi_probe(struct platform_device *pdev)
 	csi->sd.dev = &pdev->dev;
 	csi->sd.owner = THIS_MODULE;
 	csi->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
-	csi->sd.grp_id = IMX_MEDIA_GRP_ID_CSI;
 	snprintf(csi->sd.name, sizeof(csi->sd.name), "csi");
 
 	for (i = 0; i < IMX7_CSI_PADS_NUM; i++)
-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux