Hello everyone, I've split these patches off the metadata set [1], it'll still take more time to merge the internal pad support as it is evident we need to properly define the recommended sensor APIs to merge the drivers that are using them. In the meantime, these patches are seen as what can be merged for 6.10. The patches include changes to the routing API before the internal pads. [1] <URL:https://lore.kernel.org/linux-media/20240420100518.GA5618@xxxxxxxxxxxxxxxxxxxxxxxxxx/T/#t> changes since v2: - Fix glossary term referencing (thanks to Hans!). changes since v1: - Improve len_routes field documentation in struct v4l2_subdev_routing. changes since v9 metadata set: - Fix metadata format documentation. - Improve language of struct v4l2_subdev_format field documentation when it comes to metadata. - Improved documentation for routing API. - Set (and unset) the V4L2_FMT_FLAG_META_LINE_BASED flag in the framework based on the format, don't rely on the driver to do it. Added a comment to the format list to remind developers to update v4l_fill_fmtdesc when adding new metadata formats. - Drop the patch that moved G_ROUTING below S_ROUTING handling in v4l2-subdev.c. It's no longer needed. Laurent Pinchart (1): media: v4l2-subdev: Clearly document that the crop API won't be extended Sakari Ailus (13): media: Documentation: Add "stream" into glossary media: uapi: Add generic serial metadata mbus formats media: uapi: Document which mbus format fields are valid for metadata media: uapi: v4l: Add generic 8-bit metadata format definitions media: v4l: Support line-based metadata capture media: v4l: Set line based metadata flag in V4L2 core media: Documentation: Additional streams generally don't harm capture media: Documentation: Document S_ROUTING behaviour media: v4l: subdev: Add a function to lock two sub-device states, use it media: v4l: subdev: Copy argument back to user also for S_ROUTING media: v4l: subdev: Add len_routes field to struct v4l2_subdev_routing media: v4l: subdev: Return routes set using S_ROUTING media: v4l: subdev: Add trivial set_routing support .../userspace-api/media/glossary.rst | 12 + .../userspace-api/media/v4l/dev-meta.rst | 21 ++ .../userspace-api/media/v4l/dev-subdev.rst | 31 +- .../userspace-api/media/v4l/meta-formats.rst | 3 +- .../media/v4l/metafmt-generic.rst | 340 ++++++++++++++++++ .../media/v4l/subdev-formats.rst | 269 +++++++++++++- .../media/v4l/vidioc-enum-fmt.rst | 7 + .../media/v4l/vidioc-subdev-g-crop.rst | 6 +- .../media/v4l/vidioc-subdev-g-routing.rst | 51 ++- .../media/videodev2.h.rst.exceptions | 1 + drivers/media/v4l2-core/v4l2-ioctl.c | 41 ++- drivers/media/v4l2-core/v4l2-subdev.c | 50 ++- include/media/v4l2-subdev.h | 42 +++ include/uapi/linux/media-bus-format.h | 9 + include/uapi/linux/v4l2-mediabus.h | 18 +- include/uapi/linux/v4l2-subdev.h | 14 +- include/uapi/linux/videodev2.h | 22 ++ 17 files changed, 874 insertions(+), 63 deletions(-) create mode 100644 Documentation/userspace-api/media/v4l/metafmt-generic.rst base-commit: faa4364bef2ec0060de381ff028d1d836600a381 -- 2.39.2