mbox series

[v6,0/5] v4l2-dev/ioctl: Add V4L2_CAP_IO_MC

Message ID 20200319004701.30416-1-laurent.pinchart@ideasonboard.com
Headers show
Series v4l2-dev/ioctl: Add V4L2_CAP_IO_MC | expand

Message

Laurent Pinchart March 19, 2020, 12:46 a.m. UTC
Hello,

This is the sixth version of Niklas' eponymous series that aims to
reduce the amount of boiler plate code in video device drivers who's
inputs and/or outputs are controlled by the Media Controller instead of
the V4L2 API. I have merged it with the VIDIOC_ENUM_FMT extension for
MC-centric devices that was posted in [1], as the two are related.

Patch 1/5 adds the new video device capability flag V4L2_CAP_IO_MC and
is unchanged compared to Niklas' v5. Patch 2/5 is the rebased version of
the VIDIOC_ENUM_FMT extension that now depends on the V4L2_CAP_IO_MC
flag.

Patches 3/5, 4/5 and 5/5 converts the R-Car VIN, Intel IPU3 and VIMC
drivers to use the new default handlers and capability flag and delete
the now redundant boiler plate code. The IPU3 and VIMC drivers also
implement the VIDIOC_ENUM_FMT extension. This should be added to the
R-Car VIN driver in patch 3/5, that Niklas has nicely proposed to handle
for me :-)

A separate patch to v4l-utils has been posted ([2]) to add a test for
the V4L2_CAP_IO_MC feature to v4l2-compliance. Once the VIDIOC_ENUM_FMT
extension will stabilize, I will do the same for it.

[1] https://lore.kernel.org/linux-media/20200313152406.13347-1-laurent.pinchart@ideasonboard.com/
[2] https://lore.kernel.org/linux-media/20200318132722.3089925-1-niklas.soderlund+renesas@ragnatech.se/

Laurent Pinchart (1):
  media: v4l2: Extend VIDIOC_ENUM_FMT to support MC-centric devices

Niklas Söderlund (4):
  v4l2-dev/ioctl: Add V4L2_CAP_IO_MC
  rcar-vin: Make use of V4L2_CAP_IO_MC
  staging/intel-ipu3: Make use of V4L2_CAP_IO_MC
  vimc: Make use of V4L2_CAP_IO_MC

 .../media/uapi/v4l/vidioc-enum-fmt.rst        | 19 +++--
 .../media/uapi/v4l/vidioc-querycap.rst        |  6 ++
 .../media/videodev2.h.rst.exceptions          |  1 +
 drivers/media/platform/rcar-vin/rcar-v4l2.c   | 17 +----
 drivers/media/platform/vimc/vimc-capture.c    | 10 ++-
 drivers/media/v4l2-core/v4l2-dev.c            | 25 +++++--
 drivers/media/v4l2-core/v4l2-ioctl.c          | 70 +++++++++++++++++--
 drivers/staging/media/ipu3/ipu3-v4l2.c        | 64 ++---------------
 include/uapi/linux/videodev2.h                |  5 +-
 9 files changed, 125 insertions(+), 92 deletions(-)