Re: [PATCH 0/4] media: Add devm-managed helper functions for media and V4L2 subsystems

From: Tarang Raval
Date: Wed Jul 23 2025 - 10:08:26 EST


Hi Laurent,

> On Wed, Jul 23, 2025 at 03:55:04PM +0530, Tarang Raval wrote:
> > This patch series introduces devm-managed versions of several commonly used
> > media and V4L2 initialization functions. These helpers simplify resource
> > management by leveraging the devres infrastructure, ensuring automatic
> > cleanup when the associated device is detached or the driver is unloaded.
> 
> I'll let Sakari review this, but overall, I don't think we want to take
> this direction. Objects need to be refcounted instead of freed at remove
> time. 

I agree that refcounting could provide more robust lifetime management,
especially for shared resources. I will think in this direction, explore 
implementing refcounting for these objects, and share an RFC for your 
feedback.

> This patch series doesn't necessarily cause a regression as such,
> but it will make it more difficult to fix life time management issues in
> V4L2.

Could you clarify how devm-managed helpers might complicate lifetime
management in V4L2? Understanding specific issues will help me design
a solution that aligns with the subsystem’s needs while keeping cleanup
simple.

Best Regards,
Tarang

> > Tested with IMX219 and OV2735 camera sensors on an i.MX8MP-based platform.
> >
> > Tarang Raval (4):
> >   media: mc: Add devm_media_entity_pads_init() helper
> >   media: v4l: async: Add devm_v4l2_async_register_subdev_sensor() helper
> >   media: v4l2: subdev: Add devm_v4l2_subdev_init_finalize() helper
> >   media: v4l2-ctrls: Add devm_v4l2_ctrl_handler_init() helper
> >
> >  drivers/media/mc/mc-entity.c              | 19 +++++++++++++++++++
> >  drivers/media/v4l2-core/v4l2-async.c      | 19 +++++++++++++++++++
> >  drivers/media/v4l2-core/v4l2-ctrls-core.c | 20 ++++++++++++++++++++
> >  drivers/media/v4l2-core/v4l2-subdev.c     | 18 ++++++++++++++++++
> >  include/media/media-entity.h              | 20 ++++++++++++++++++++
> >  include/media/v4l2-async.h                | 18 ++++++++++++++++++
> >  include/media/v4l2-ctrls.h                | 19 +++++++++++++++++++
> >  include/media/v4l2-subdev.h               | 17 +++++++++++++++++
> >  8 files changed, 150 insertions(+)
> >
> 
> --
> Regards,
> 
> Laurent Pinchart