media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Tue, 7 Jul 2020 13:23:40 +0000 (14:23 +0100)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:02 +0000 (11:33 +0000)
v4l2-compliance throws a failure if the device doesn't advertise
V4L2_CAP_READWRITE but allows read or write operations.
We do support read, so reinstate the flag.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/media/platform/bcm2835/bcm2835-unicam.c

index 0282c5f..4118bf7 100644 (file)
@@ -2420,8 +2420,8 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node,
        vdev->queue = q;
        vdev->lock = &node->lock;
        vdev->device_caps = (pad_id == IMAGE_PAD) ?
-                           (V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING) :
-                           (V4L2_CAP_META_CAPTURE | V4L2_CAP_STREAMING);
+                               V4L2_CAP_VIDEO_CAPTURE : V4L2_CAP_META_CAPTURE;
+       vdev->device_caps |= V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
 
        /* Define the device names */
        snprintf(vdev->name, sizeof(vdev->name), "%s-%s", UNICAM_MODULE_NAME,