From: Fabio Estevam <feste...@gmail.com>

[ Upstream commit 9bac67214fbf4b5f23463f7742ccf69bfe684cbd ]

Commit 86e02d07871c ("media: imx5/6/7: csi: Mark a bound video mux as
a CSI mux") made an incorrect assumption that for imx7-media-csi,
the bound subdev must always be a CSI mux. On i.MX6UL/i.MX6ULL there
is no CSI mux at all, so do not return an error when the entity is not a
video mux and assign the IMX_MEDIA_GRP_ID_CSI_MUX group id only when
appropriate.

This is the same approach as done in imx-media-csi.c and it fixes the
csi probe regression on i.MX6UL.

Tested on a imx6ull-evk board.

Fixes: 86e02d07871c ("media: imx5/6/7: csi: Mark a bound video mux as a CSI 
mux")
Signed-off-by: Fabio Estevam <feste...@gmail.com>
Signed-off-by: Rui Miguel Silva <rmf...@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/staging/media/imx/imx7-media-csi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/media/imx/imx7-media-csi.c 
b/drivers/staging/media/imx/imx7-media-csi.c
index a3f3df9017046..31e36168f9d0f 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -1164,12 +1164,12 @@ static int imx7_csi_notify_bound(struct 
v4l2_async_notifier *notifier,
        struct imx7_csi *csi = imx7_csi_notifier_to_dev(notifier);
        struct media_pad *sink = &csi->sd.entity.pads[IMX7_CSI_PAD_SINK];
 
-       /* The bound subdev must always be the CSI mux */
-       if (WARN_ON(sd->entity.function != MEDIA_ENT_F_VID_MUX))
-               return -ENXIO;
-
-       /* Mark it as such via its group id */
-       sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX;
+       /*
+        * If the subdev is a video mux, it must be one of the CSI
+        * muxes. Mark it as such via its group id.
+        */
+       if (sd->entity.function == MEDIA_ENT_F_VID_MUX)
+               sd->grp_id = IMX_MEDIA_GRP_ID_CSI_MUX;
 
        return v4l2_create_fwnode_links_to_pad(sd, sink);
 }
-- 
2.27.0



Reply via email to