Re: [PATCH] media: v4l2-mc: Mark v4l2_pipeline_link_notify() as deprecated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux