This series adds vivid metadata capture and output support. While working on that it was discovered that the v4l2 core didn't correctly validate the ioctls in the case of the vivid driver that has a complex mix of V4L2 devices and various video inputs, each with different properties. Some other cleanups were also done in that code to simplify the logic and the ioctl validation for touch devices was also improved. Many thanks to Vandana for working on this as part of the Linux Kernel Mentorship Program. Note: the v4l2-compliance test will fail for the metadata output. To make that work this patch is needed: https://patchwork.linuxtv.org/patch/59480/ Once this series is merged I'll apply that patch as well to v4l-utils. Regards, Hans The following changes since commit 503e59365dd134b2c63864f14e2de0476284b003: media: i2c: ov2659: Switch to SPDX Licensing (2019-10-01 17:39:16 -0300) are available in the Git repository at: git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.5f for you to fetch changes up to 952f6951ad9416f70a3fbf20a9285fef86bbbeef: vivid: Add metadata output support (2019-10-16 12:14:06 +0200) ---------------------------------------------------------------- Tag branch ---------------------------------------------------------------- Hans Verkuil (3): v4l2-dev: simplify the SDR checks v4l2-dev: fix is_tch checks v4l2-dev: disable frequency and tuner ioctls for touch Vandana BN (5): v4l2-core: correctly validate video and metadata ioctls vivid: Add metadata capture support Documentation:media:v4l2:Add vivid metadata doc v4l2-core: Add new metadata format vivid: Add metadata output support Documentation/media/uapi/v4l/meta-formats.rst | 1 + Documentation/media/uapi/v4l/pixfmt-meta-vivid.rst | 43 +++++++++++ drivers/media/platform/vivid/Makefile | 2 +- drivers/media/platform/vivid/vivid-core.c | 197 ++++++++++++++++++++++++++++++++++++++++++++++-- drivers/media/platform/vivid/vivid-core.h | 24 ++++++ drivers/media/platform/vivid/vivid-ctrls.c | 75 ++++++++++++++++++ drivers/media/platform/vivid/vivid-kthread-cap.c | 54 +++++++++++-- drivers/media/platform/vivid/vivid-kthread-out.c | 49 +++++++++++- drivers/media/platform/vivid/vivid-meta-cap.c | 201 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/media/platform/vivid/vivid-meta-cap.h | 29 +++++++ drivers/media/platform/vivid/vivid-meta-out.c | 174 ++++++++++++++++++++++++++++++++++++++++++ drivers/media/platform/vivid/vivid-meta-out.h | 25 ++++++ drivers/media/platform/vivid/vivid-vid-cap.c | 5 +- drivers/media/platform/vivid/vivid-vid-out.c | 5 +- drivers/media/v4l2-core/v4l2-dev.c | 112 ++++++++++++++++----------- drivers/media/v4l2-core/v4l2-ioctl.c | 17 ++++- include/uapi/linux/videodev2.h | 1 + 17 files changed, 948 insertions(+), 66 deletions(-) create mode 100644 Documentation/media/uapi/v4l/pixfmt-meta-vivid.rst create mode 100644 drivers/media/platform/vivid/vivid-meta-cap.c create mode 100644 drivers/media/platform/vivid/vivid-meta-cap.h create mode 100644 drivers/media/platform/vivid/vivid-meta-out.c create mode 100644 drivers/media/platform/vivid/vivid-meta-out.h