[PATCH v4 0/3] media: i2c: ov9282: Modernize driver with CCI and streams API

From: Xiaolei Wang

Date: Wed Mar 04 2026 - 23:36:45 EST


This series modernizes the ov9282 driver by:

1. Converting to the common CCI (Camera Control Interface) register
access helpers, which simplifies the code by removing custom I2C
register access functions.

2. Switching to use the V4L2 sub-device state lock instead of a
private mutex, improving integration with the V4L2 framework.

3. Migrating from the legacy s_stream callback to the modern
enable_streams/disable_streams callbacks, providing better support
for multiplexed streams.

These changes reduce code complexity, improve maintainability, and
align the driver with current V4L2 best practices.

I verified each patch on the Raspberry Pi 5 platform.

Changes in V4:
- patch 1: use cci_multi_reg_write() instead of regmap_multi_reg_write()
- Link to v3: https://patchwork.linuxtv.org/project/linux-media/cover/20260303104942.3111366-1-xiaolei.wang@xxxxxxxxxxxxx/

Changes in V3:
- Patch 2:
* Remove unnecessary ret assignment in v4l2_subdev_init_finalize() error path
* Move pm_runtime_idle() call after v4l2_async_register_subdev_sensor() to avoid
potential double power-off in error handling path
- Link to v2: https://patchwork.linuxtv.org/project/linux-media/cover/20260301104809.3505257-1-xiaolei.wang@xxxxxxxxxxxxx/

Changes in V2:
- Patch 1: Fixed group hold release error handling in
ov9282_update_exp_gain()
- Patch 2: Fixed runtime PM cleanup in probe error path
- Patch 3: Improved error handling with clearer err_pm_put: label
- Link to V1: https://patchwork.linuxtv.org/project/linux-media/cover/20260228083401.1007434-1-xiaolei.wang@xxxxxxxxxxxxx/


Xiaolei Wang (3):
media: i2c: ov9282: Convert to CCI register access helpers
media: i2c: ov9282: Switch to using the sub-device state lock
media: i2c: ov9282: switch to {enable,disable}_streams

drivers/media/i2c/Kconfig | 1 +
drivers/media/i2c/ov9282.c | 677 +++++++++++++------------------------
2 files changed, 236 insertions(+), 442 deletions(-)

--
2.43.0