This series works on the .s_stream, .enable_streams, .disable_streams related code: "media: subdev: Add checks for subdev features" adds check to verify that the subdevs implement the proper mix of the above ops. "media: subdev: Fix use of sd->enabled_streams in call_s_stream()" fixes somewhat questionable use of sd->enabled_streams in call_s_stream(). "media: subdev: Improve v4l2_subdev_enable/disable_streams_fallback" drops the restriction of supporting only a single source pads, and prepares the way for the following patch. "media: subdev: Support enable/disable_streams for non-streams subdevs" makes it possible for non-streams subdevs to use .enable_streams and .disable_streams, deprecating the earlier patch "[PATCH] media: v4l2-subdev: Support enable/disable_streams for single-pad subdevs". I have tested this on RPi5 with multiple streams, but I still need to figure out ways to test the other scenarios. Tomi Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx> --- Tomi Valkeinen (4): media: subdev: Add checks for subdev features media: subdev: Fix use of sd->enabled_streams in call_s_stream() media: subdev: Improve v4l2_subdev_enable/disable_streams_fallback media: subdev: Support enable/disable_streams for non-streams subdevs drivers/media/v4l2-core/v4l2-subdev.c | 189 +++++++++++++++++++++++----------- include/media/v4l2-subdev.h | 11 +- 2 files changed, 133 insertions(+), 67 deletions(-) --- base-commit: b82779648dfd3814df4e381f086326ec70fd791f change-id: 20240404-enable-streams-impro-db8bcd898471 Best regards, -- Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>