Re: [PATCH v2 09/26] media: v4l: async: refactor v4l2_async_create_ancillary_links

From: Hans Verkuil
Date: Wed Apr 24 2024 - 06:55:43 EST


On 19/04/2024 11:47, Ricardo Ribalda wrote:
> Return 0 without checking IS_ERR or PTR_ERR if CONFIG_MEDIA_CONTROLLER
> is not enabled.
>
> This makes cocci happier:
>
> drivers/media/v4l2-core/v4l2-async.c:331:23-30: ERROR: PTR_ERR applied after initialization to constant on line 319
>
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-async.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
> index 4bb073587817..915a9f3ea93c 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -316,9 +316,10 @@ v4l2_async_nf_try_all_subdevs(struct v4l2_async_notifier *notifier);
> static int v4l2_async_create_ancillary_links(struct v4l2_async_notifier *n,
> struct v4l2_subdev *sd)
> {
> - struct media_link *link = NULL;
> + struct media_link *link;
>
> -#if IS_ENABLED(CONFIG_MEDIA_CONTROLLER)
> + if (!IS_ENABLED(CONFIG_MEDIA_CONTROLLER))
> + return 0;
>
> if (sd->entity.function != MEDIA_ENT_F_LENS &&
> sd->entity.function != MEDIA_ENT_F_FLASH)
> @@ -326,8 +327,6 @@ static int v4l2_async_create_ancillary_links(struct v4l2_async_notifier *n,
>
> link = media_create_ancillary_link(&n->sd->entity, &sd->entity);
>
> -#endif
> -
> return IS_ERR(link) ? PTR_ERR(link) : 0;
> }

I think I would prefer:

static int v4l2_async_create_ancillary_links(struct v4l2_async_notifier *n,
struct v4l2_subdev *sd)
{
#if IS_ENABLED(CONFIG_MEDIA_CONTROLLER)
struct media_link *link;

...

return IS_ERR(link) ? PTR_ERR(link) : 0;
#else
return 0;
#endif
}

Regards,

Hans