media: vimc: Make use of V4L2_CAP_IO_MC
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tue, 21 Apr 2020 13:57:43 +0000 (15:57 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 6 May 2020 10:10:12 +0000 (12:10 +0200)
Set the V4L2_CAP_IO_MC capability flag to report this vimc
inputs/outputs are controlled by the media graph.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/test-drivers/vimc/vimc-capture.c

index 20c2f5e..c63496b 100644 (file)
@@ -149,7 +149,16 @@ static int vimc_cap_s_fmt_vid_cap(struct file *file, void *priv,
 static int vimc_cap_enum_fmt_vid_cap(struct file *file, void *priv,
                                     struct v4l2_fmtdesc *f)
 {
-       const struct vimc_pix_map *vpix = vimc_pix_map_by_index(f->index);
+       const struct vimc_pix_map *vpix;
+
+       if (f->mbus_code) {
+               if (f->index > 0)
+                       return -EINVAL;
+
+               vpix = vimc_pix_map_by_code(f->mbus_code);
+       } else {
+               vpix = vimc_pix_map_by_index(f->index);
+       }
 
        if (!vpix)
                return -EINVAL;
@@ -450,7 +459,8 @@ static struct vimc_ent_device *vimc_cap_add(struct vimc_device *vimc,
 
        /* Initialize the video_device struct */
        vdev = &vcap->vdev;
-       vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
+       vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING
+                         | V4L2_CAP_IO_MC;
        vdev->entity.ops = &vimc_cap_mops;
        vdev->release = video_device_release_empty;
        vdev->fops = &vimc_cap_fops;