Re: [PATCH 04/11] media: exynos4-is: Correct missing entity function initialization

From: Tomasz Figa
Date: Tue Jul 07 2020 - 14:09:22 EST


Hi Jonathan,

On Sat, Apr 25, 2020 at 07:26:43PM -0700, Jonathan Bakker wrote:
> Commit bae4500399c4 ("[media] exynos4-is: Add missing entity function
> initialization") tried to suppress the warnings such as
>
> s5p-fimc-md camera: Entity type for entity FIMC.0 was not initialized!
>
> However, this didn't work in all cases. Correct this by calling the set
> function earlier.
>
> Fixes: bae4500399c4 ("exynos4-is: Add missing entity function initialization")
> Signed-off-by: Jonathan Bakker <xc-racer2@xxxxxxx>
> ---
> drivers/media/platform/exynos4-is/fimc-capture.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Thank you for the patch. Please see my comments inline.

> diff --git a/drivers/media/platform/exynos4-is/fimc-capture.c b/drivers/media/platform/exynos4-is/fimc-capture.c
> index 705f182330ca..86c233e2f2c9 100644
> --- a/drivers/media/platform/exynos4-is/fimc-capture.c
> +++ b/drivers/media/platform/exynos4-is/fimc-capture.c
> @@ -1799,7 +1799,6 @@ static int fimc_register_capture_device(struct fimc_dev *fimc,
> vid_cap->wb_fmt.code = fmt->mbus_code;
>
> vid_cap->vd_pad.flags = MEDIA_PAD_FL_SINK;
> - vfd->entity.function = MEDIA_ENT_F_PROC_VIDEO_SCALER;

Isn't vfd->entity above a different entity than sd->entity below? If so,
this line must stay.

> ret = media_entity_pads_init(&vfd->entity, 1, &vid_cap->vd_pad);
> if (ret)
> goto err_free_ctx;
> @@ -1898,6 +1897,7 @@ int fimc_initialize_capture_subdev(struct fimc_dev *fimc)
> return ret;
>
> sd->entity.ops = &fimc_sd_media_ops;
> + sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_SCALER;

My understanding is that this is the capture subdev and not the scaler.
Looking at the other drivers, MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER
could be the right function to use here.

Best regards,
Tomasz