First of this series is based on work done by Helen in 2017 [1], I have 
synced with her that it's OK for me to takeover the work.

This series 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.

Patch 1/3 adds the core parts of this change by adding a new video 
device capability flag V4L2_CAP_IO_MC which if set provides helper 
implementations for the get, set and enum inputs and outputs ioctrls 
freeing the video device driver from the need to implement them.

Patch 2/3 and 3/3 converts the R-Car VIN and Intel IPU3 drivers to use 
this new flag and delete the now redundant boiler plate code. I'm sure 
more video device drivers can make use of this new flag but as I can 
only test on these two platforms I have limited my changes to those.

1. https://patchwork.linuxtv.org/patch/41857/

Niklas Söderlund (3):
  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

 .../media/uapi/v4l/vidioc-querycap.rst        |  3 +
 .../media/videodev2.h.rst.exceptions          |  1 +
 drivers/media/platform/rcar-vin/rcar-v4l2.c   | 17 +---
 drivers/media/v4l2-core/v4l2-dev.c            | 24 +++--
 drivers/media/v4l2-core/v4l2-ioctl.c          | 87 ++++++++++++++++++-
 drivers/staging/media/ipu3/ipu3-v4l2.c        | 60 +------------
 include/uapi/linux/videodev2.h                |  2 +
 7 files changed, 110 insertions(+), 84 deletions(-)


Reply via email to