Hello, This series completes the conversion of the soc_camera VIN driver to a full fledge media-graph enabled driver for R-Car Gen2 devices, Gen3 and later have been media-graph centric from the start. Having a single driver supporting both MC and non-MC operation have lead do odd design decisions in the driver, and it have prevented improving the driver over all. New features and bug fixes have always been more important then fixing this old generation to be MC-centric. But in order to start to play with libcamera support for the R-Car pipeline it have become more pressing to make take the time to make this driver MC-only, and more importantly test it to make sure nothing really breaks. Patch 1/12, 2/12 and 3/12 are drive-by fixes correcting issues in the existing design. Patch 4/12 prepares for Gen2 MC by making sure each VIN instance on Gen2 gets a unique ID which will be needed to support VIN groups. Compared to Gen3 and later the group ID does not match what it can do in the group and does not need to be set from DT, all that matters is that each VIN instance have a unique ID. Patch 5/12, 6/12 and 7/12 uses the fact that VIN instances on Gen2 now have unique IDs and greatly simplifies the unnecessarily complex vl4-async notifier usage in the VIN driver. This have in the past lead to some subtle bugs and having only a single notifier for all VIN will remove a lot of possibilities for this to go wrong in the future. Patch 8/12 9/12 and 10/12 make to adapt Gen2 to MC in incremental steps to ease review. These two patches where previously part of a larger one-patch to change it all (now 11/12). There is on state of the series with 10/12 applied where controls from the sub-device are not exposed to user-space that is then addressed in 11/12. Finally patch 11/12 removes all non MC code paths and have the Gen2 devices register a media device and configure links. While patch 12/12 is a small cleanup that was previously part of 11/12. This have been tested on Gen3 and Gen4 devices without any regressions. And on Gen2 to make sure the media-graph behaves as it should. As a bonus the Gen2 devices can now join the VIN CI and any future issues should be caught as they are for Gen3 and Gen4. See individual patches for changelog. Compared to v4 the patch [v4 6/6] have been broken apart into smaller bits to ease review. Niklas Söderlund (12): media: rcar-vin: Use correct count of remote subdevices media: rcar-vin: Store platform info with group structure media: rcar-vin: Change link setup argument media: rcar-vin: Generate a VIN group ID for Gen2 media: rcar-vin: Prepare for unifying all v4l-async notifiers media: rcar-vin: Improve error paths for parallel devices media: rcar-vin: Merge all notifiers media: rcar-vin: Always create a media pad media: rcar-vin: Remove NTSC workaround media: rcar-vin: Only expose VIN controls media: rcar-vin: Enable media-graph on Gen2 media: rcar-vin: Fold event notifier into only user .../platform/renesas/rcar-vin/rcar-core.c | 677 +++++++----------- .../platform/renesas/rcar-vin/rcar-dma.c | 23 +- .../platform/renesas/rcar-vin/rcar-v4l2.c | 488 +------------ .../platform/renesas/rcar-vin/rcar-vin.h | 16 +- 4 files changed, 281 insertions(+), 923 deletions(-) -- 2.49.0