Hello, This patch series cleans up and improves the vimc driver, with the end goal of converting it to the V4L2 subdev active state API. The goal of this exercise is to make the API used by a virtual test driver, to increase test coverage. The series starts with 4 random cleanups, to avoid unnecessary iterations (1/9), constify structures (2/9 and 3/9) and rename a weirdly-named enum (4/9). Patch 5/9 then centralizes the subdev internal_ops initialization to prepare for the switch to the active state API. The remaining patches (6/9 to 9/9) convert the vimc entities to the new API one by one. The result has been tested using the libcamera unit tests, which make extensive use of the vimc driver, as well as with v4l2-compliance. The latter reports 4 errors, but they occur already with the latest stage master branch. Laurent Pinchart (9): media: vimc: Don't iterate over single pad media: vimc: Constify vimc_ent_type structures media: vimc: Constify the ent_config array media: vimc: scaler: Rename vic_sca_pad enum to vimc_scaler_pad media: vimc: Centralize subdev internal_ops initialization media: vimc: Initialize subdev active state media: vimc: sensor: Use subdev active state media: vimc: debayer: Use subdev active state media: vimc: scaler: Use subdev active state .../media/test-drivers/vimc/vimc-capture.c | 2 +- drivers/media/test-drivers/vimc/vimc-common.c | 25 ++- drivers/media/test-drivers/vimc/vimc-common.h | 14 +- drivers/media/test-drivers/vimc/vimc-core.c | 2 +- .../media/test-drivers/vimc/vimc-debayer.c | 197 ++++++++---------- drivers/media/test-drivers/vimc/vimc-lens.c | 5 +- drivers/media/test-drivers/vimc/vimc-scaler.c | 134 +++++------- drivers/media/test-drivers/vimc/vimc-sensor.c | 125 +++++------ 8 files changed, 236 insertions(+), 268 deletions(-) base-commit: e42a204f0519a2540f1507ac2798be2aeaa76bee -- Regards, Laurent Pinchart