cb36ce2d969d0244349f388cd7a4ade1e803b02b
[openwrt/openwrt.git] /
1 From e8f2c38720e391ce44154f17f3602484c1827a59 Mon Sep 17 00:00:00 2001
2 From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
3 Date: Tue, 24 Mar 2020 23:13:02 +0200
4 Subject: [PATCH] media: bcm2835-unicam: Disable event-related ioctls
5 on metadata node
6
7 The unicam driver supports both the SOURCE_CHANGE and CTRL events. Both
8 events are only generated on the image video node, so the event-related
9 ioctls are useless on the medatada node. Disable them.
10
11 Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
13 Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
14 ---
15 drivers/media/platform/bcm2835/bcm2835-unicam.c | 5 +++++
16 1 file changed, 5 insertions(+)
17
18 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
19 +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
20 @@ -2374,6 +2374,11 @@ static int register_node(struct unicam_d
21 return -ENOMEM;
22 }
23
24 + if (node->pad_id == METADATA_PAD) {
25 + v4l2_disable_ioctl(vdev, VIDIOC_DQEVENT);
26 + v4l2_disable_ioctl(vdev, VIDIOC_SUBSCRIBE_EVENT);
27 + v4l2_disable_ioctl(vdev, VIDIOC_UNSUBSCRIBE_EVENT);
28 + }
29 if (node->pad_id == METADATA_PAD ||
30 !v4l2_subdev_has_op(unicam->sensor, video, s_std)) {
31 v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD);