[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