Hi, This series adds support for two (or more) capture devices to be connected to the same senors and run simultaneously. Each capture device can be started and stopped independent of each other. Patch 1/3 and 2/3 deals with solving the issues that arises once two capture devices can be part of the same pipeline. While 3/3 allows for two capture devices to be part of the same pipeline and thus allows for simultaneously use. The series is based on the latest media-tree and it functionality can be demonstrated with the following test. >>> begin test <<< mdev=/dev/media0 media-ctl -d $mdev -l "'Debayer A':1 -> 'Scaler':0 [1]" media-ctl -d $mdev -l "'Debayer B':1 -> 'Scaler':0 [0]" media-ctl -d $mdev -V "'Debayer A':0 [fmt:RGB888_1X24/640x480 field:none]" media-ctl -d /dev/media0 -V "'Sensor A':0 [fmt:SRGGB8_1X8/640x480 field:none]" yavta -f RGB24 -s 1920x1440 --field none /dev/video2 yavta -f SRGGB8 -s 640x480 --field none /dev/video0 yavta -f RGB24 -s 1920x1440 --field none /dev/video2 --capture=100 & yavta -f SRGGB8 -s 640x480 --field none /dev/video0 --capture=100 wait >>> end test <<< In addition to testing with this test the series is tested with multiple qv4l2 instances controlling different capture devices connected to the same sensor. Niklas Söderlund (3): vimc: Add usage count to subdevices vimc: Serialize vimc_streamer_s_stream() vimc: Join pipeline if one already exists drivers/media/platform/vimc/vimc-capture.c | 35 ++++++++++++++++++++- drivers/media/platform/vimc/vimc-debayer.c | 8 +++++ drivers/media/platform/vimc/vimc-scaler.c | 8 +++++ drivers/media/platform/vimc/vimc-sensor.c | 7 +++++ drivers/media/platform/vimc/vimc-streamer.c | 23 +++++++++----- 5 files changed, 73 insertions(+), 8 deletions(-) -- 2.21.0