On 7/24/24 6:16 PM, Dan Carpenter wrote:
On Wed, Jul 24, 2024 at 02:19:38AM +0200, Marek Vasut wrote:
diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
index be54dca11465d..a841fdb4c2394 100644
--- a/drivers/staging/media/imx/imx-media-dev.c
+++ b/drivers/staging/media/imx/imx-media-dev.c
@@ -57,7 +57,52 @@ static int imx6_media_probe_complete(struct v4l2_async_notifier *notifier)
goto unlock;
}
+ imxmd->m2m_vdic[0] = imx_media_mem2mem_vdic_init(imxmd, 0);
+ if (IS_ERR(imxmd->m2m_vdic[0])) {
+ ret = PTR_ERR(imxmd->m2m_vdic[0]);
+ imxmd->m2m_vdic[0] = NULL;
+ goto unlock;
+ }
+
+ /* MX6S/DL has one IPUv3, init second VDI only on MX6Q/QP */
+ if (imxmd->ipu[1]) {
+ imxmd->m2m_vdic[1] = imx_media_mem2mem_vdic_init(imxmd, 1);
+ if (IS_ERR(imxmd->m2m_vdic[1])) {
+ ret = PTR_ERR(imxmd->m2m_vdic[1]);
+ imxmd->m2m_vdic[1] = NULL;
+ goto uninit_vdi0;
+ }
+ }
+
ret = imx_media_csc_scaler_device_register(imxmd->m2m_vdev);
+ if (ret)
+ goto uninit_vdi1;
+
+ ret = imx_media_mem2mem_vdic_register(imxmd->m2m_vdic[0]);
+ if (ret)
+ goto unreg_csc;
+
+ /* MX6S/DL has one IPUv3, init second VDI only on MX6Q/QP */
+ if (imxmd->ipu[1]) {
+ ret = imx_media_mem2mem_vdic_register(imxmd->m2m_vdic[1]);
+ if (ret)
+ goto unreg_vdic;
+ }
+
+ mutex_unlock(&imxmd->mutex);
+ return ret;
Since it looks like you're going to do another version of this, could
you change this to return 0;
Fixed up both for V3, thanks .