[PATCH RFC v4 1/3] PM / Runtime: Add an API pm_runtime_set_slave

Alan Stern stern at rowland.harvard.edu
Thu Feb 12 07:13:36 PST 2015


On Thu, 12 Feb 2015, amit daniel kachhap wrote:

> Hi Alan,
> 
> On Mon, Feb 9, 2015 at 9:28 PM, Alan Stern <stern at rowland.harvard.edu> wrote:
> > On Mon, 9 Feb 2015, Amit Daniel Kachhap wrote:
> >
> >> This API creates a pm runtime slave type device which does not itself
> >> participates in pm runtime but depends on the master devices to power
> >> manage them.
> >
> > This makes no sense.  How can a master device manage a slave device?
> > Devices are managed by drivers, not by other devices.
> May be my commit is not explaining the requirements completely and the
> API name may not reflect the relevance. But If you see the 3rd patch
> it has one clock use-case where this new feature is used and the
> current pm runtime feature is not sufficient enough to handle it. I
> have one more IOMMU use case also which is not part of this patch
> series.

Regardless, your description should say what is really happening.  The
master device doesn't power-manage the clock; some driver power-manages
it.

> I am not sure if this approach is final but I looked at runtime.c file
> and it has couple of API's like pm_runtime_forbid/allow which
> blocks/unblocks the runtime callbacks according to driver requirement.
> In the similar line I added this new API.

forbid/allow blocks/unblocks runtime PM according to the user's 
requirements, not the driver's requirements.

> > Besides, doesn't the no_callbacks flag already do more or less what you
> > want?
> yes to some extent. But I thought its purpose is different so I added 1 more.

The purpose doesn't matter.  If no_callbacks does what you want then 
you should use it instead of adding another API.

Alan Stern




More information about the linux-arm-kernel mailing list