Hi Laurent, On Sat, Aug 24, 2024 at 06:50:09PM +0300, Laurent Pinchart wrote: > On Sat, Aug 24, 2024 at 02:28:22PM +0000, Sakari Ailus wrote: > > On Fri, Aug 23, 2024 at 04:57:28PM +0300, Laurent Pinchart wrote: > > > On Fri, Aug 23, 2024 at 07:16:42AM +0000, Sakari Ailus wrote: > > > > On Fri, Aug 23, 2024 at 12:41:25AM +0300, Laurent Pinchart wrote: > > > > > Commit b97213a41140 ("media: v4l2-mc: Make v4l2_pipeline_pm_{get,put} > > > > > deprecated") marked the v4l2_pipeline_pm_get() and > > > > > v4l2_pipeline_pm_put() functions as deprecated, but forgot to address > > > > > the related v4l2_pipeline_link_notify() function similarly. Fix it. > > > > > > > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > > > > > > > > Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > > > > > > > How about adding a warning for the use of these functions? Possibly on > > > > debug level if pr_warn_once() is considered too drastic? > > > > > > I think we need to do a bit of homework first, as there's a large number > > > of drivers using these, directly or indirectly. We should at least > > > convert the sensor drivers still using .s_power() to runtime PM, to make > > > it possible to convert the other drivers. > > > > With that, we could just drop the implementation of the pipeline PM stuff > > and replace it with a warning. > > > > I think a pr_debug_once() would still be appropriate, at least. People > > generally won't read the documentation unless something is broken. > > Generally I agree, but my concern here is that someone hitting the > warning would need to first convert all the remaining sensor drivers to > runtime PM before they could safely address the issue on the host driver > side. That's quite a bit of yak shaving. That's a fair point. How about then adding such a warning to sub-device drivers implementing s_power? That'd be much easier to fix for anyone encountering it. That being said, there could be drivers that need s_power, due to missing other APIs, for TV tuners on PCI cards for instance. Cc Hans. > > > > > > --- > > > > > include/media/v4l2-mc.h | 3 +++ > > > > > 1 file changed, 3 insertions(+) > > > > > > > > > > diff --git a/include/media/v4l2-mc.h b/include/media/v4l2-mc.h > > > > > index ed0a44b6eada..1837c9fd78cf 100644 > > > > > --- a/include/media/v4l2-mc.h > > > > > +++ b/include/media/v4l2-mc.h > > > > > @@ -178,6 +178,9 @@ void v4l2_pipeline_pm_put(struct media_entity *entity); > > > > > * @flags: New link flags that will be applied > > > > > * @notification: The link's state change notification type (MEDIA_DEV_NOTIFY_*) > > > > > * > > > > > + * THIS FUNCTION IS DEPRECATED. DO NOT USE IN NEW DRIVERS. USE RUNTIME PM > > > > > + * ON SUB-DEVICE DRIVERS INSTEAD. > > > > > + * > > > > > * React to link management on powered pipelines by updating the use count of > > > > > * all entities in the source and sink sides of the link. Entities are powered > > > > > * on or off accordingly. The use of this function should be paired > > > > > > > > > > base-commit: a043ea54bbb975ca9239c69fd17f430488d33522 > -- Kind regards, Sakari Ailus