[PATCH] media: i2c: imx219: Declare that the driver can create events

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Nov 16 09:30:15 EST 2020


Hi Dave,

Thank you for the patch.

On Mon, Nov 16, 2020 at 02:22:44PM +0100, Dafna Hirschfeld wrote:
> The flag V4L2_SUBDEV_FL_HAS_EVENTS is required if the subdev can
> generate events. It can create events from the ctrl handler, therefore
> this is required.
> 
> Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld at collabora.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

We should probably revisit this in the V4L2 core, as all subdevs that
handle controls can generate events, it shouldn't need to be manually
implemented in each of them.

> ---
> This patch fixes compliance issues found in imx219:
> 
> fail: v4l2-test-controls.cpp(830): failed to find event for control 'Exposure'
>     test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
> 
>  drivers/media/i2c/imx219.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
> index ef2b1a6a0f4a..ba1c5e59ddf4 100644
> --- a/drivers/media/i2c/imx219.c
> +++ b/drivers/media/i2c/imx219.c
> @@ -1503,7 +1503,8 @@ static int imx219_probe(struct i2c_client *client)
>  
>  	/* Initialize subdev */
>  	imx219->sd.internal_ops = &imx219_internal_ops;
> -	imx219->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
> +	imx219->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE |
> +			    V4L2_SUBDEV_FL_HAS_EVENTS;
>  	imx219->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
>  
>  	/* Initialize source pad */

-- 
Regards,

Laurent Pinchart



More information about the Linux-rockchip mailing list