[PATCH v2 0/3] media: v4l: async: add helper API v4l2_async_pad_init_and_register_subdev()

Frank Li posted 3 patches 1 month ago
drivers/media/platform/cadence/cdns-csi2rx.c     | 17 +++---------
drivers/media/platform/synopsys/dw-mipi-csi2rx.c | 13 +---------
drivers/media/v4l2-core/v4l2-async.c             | 33 ++++++++++++++++++++++++
include/media/v4l2-async.h                       | 22 ++++++++++++++++
4 files changed, 59 insertions(+), 26 deletions(-)
[PATCH v2 0/3] media: v4l: async: add helper API v4l2_async_pad_init_and_register_subdev()
Posted by Frank Li 1 month ago
Add the helper API v4l2_async_pad_init_and_register_subdev(), which
combines media_entity_pads_init(), v4l2_subdev_init_finalize(), and
v4l2_async_register_subdev() into a single call.

Reduce code duplication and simplify error handling in drivers.

Only change dwc and cdns. If agree add API, more driver can be simplified.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Changes in v2:
- Change API name to media_async_register_subdev()
- pass down __v4l2_async_register_subdev() as argument to extend more
support in future.
- Link to v1: https://lore.kernel.org/r/20260210-v4l2_init_register-v1-0-8fe43f7d349f@nxp.com

---
Frank Li (3):
      media: v4l: async: add helper API media_async_register_subdev()
      media: synopsys: Use media_async_register_subdev() to simplify code
      media: cadence: cdns-csi2rx: Use media_async_register_subdev() to simplify code

 drivers/media/platform/cadence/cdns-csi2rx.c     | 17 +++---------
 drivers/media/platform/synopsys/dw-mipi-csi2rx.c | 13 +---------
 drivers/media/v4l2-core/v4l2-async.c             | 33 ++++++++++++++++++++++++
 include/media/v4l2-async.h                       | 22 ++++++++++++++++
 4 files changed, 59 insertions(+), 26 deletions(-)
---
base-commit: bc0bfce7d0f8204e0bbadcee72e87ad9ec105c73
change-id: 20260210-v4l2_init_register-0e6d0adcfa21

Best regards,
--
Frank Li <Frank.Li@nxp.com>