[PATCH v3 0/5] v4l2-dev/ioctl: Add V4L2_CAP_IO_MC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

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/5 adds a new video device capability flag V4L2_CAP_IO_MC which 
if set provides helper implementations for the enum inputs and outputs 
ioctrls freeing the video device driver from the need to implement them.  

It also adds a default handler for VIDIOC_{G,S}_{INPUT,OUTPUT} as
suggested by Hans in v1. This allows video drivers (disregarding of the
V4L2_CAP_IO_MC flag) to remove callbacks for these operations if they
only provide a single input/output.

Patch 2/5, 3/5, 4/5 and 5/5 converts the R-Car VIN and Intel IPU3
drivers to use the new default handlers and capability 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 (5):
  v4l2-dev/ioctl: Add V4L2_CAP_IO_MC
  rcar-vin: Use default VIDIOC_{G,S}_{INPUT,OUTPUT} handler
  staging/intel-ipu3: Use default VIDIOC_{G,S}_{INPUT,OUTPUT} handler
  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        |  5 ++
 .../media/videodev2.h.rst.exceptions          |  1 +
 drivers/media/platform/rcar-vin/rcar-v4l2.c   | 32 +--------
 drivers/media/v4l2-core/v4l2-dev.c            | 19 +++--
 drivers/media/v4l2-core/v4l2-ioctl.c          | 69 +++++++++++++++++--
 drivers/staging/media/ipu3/ipu3-v4l2.c        | 60 +---------------
 include/uapi/linux/videodev2.h                |  2 +
 7 files changed, 89 insertions(+), 99 deletions(-)

-- 
2.24.1




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux