[linux-pm] calling runtime PM from system PM methods
Alan Stern
stern at rowland.harvard.edu
Sun Jun 12 08:59:28 PDT 2011
On Sun, 12 Jun 2011, Rafael J. Wysocki wrote:
> > Basically, I think what Rafael was saying before referred to the
> > general case, where you don't know anything about the subsystem and
> > can't afford to make assumptions. But in the real world you'll be
> > writing a driver for a particular subsystem and you'll know how that
> > subsystem works. If the subsystem permits runtime PM calls to be
> > nested within the system PM routines, feel free to go ahead and use
> > them.
>
> But then we get the problem that user space may echo "on" to the
> device's "control" file in sysfs and the whole clever plan basically goes
> south.
That would indeed be a problem if we used pm_runtime_suspend() in the
system suspend code. But it doesn't prevent us from calling
pm_runtime_resume() during system suspend.
> Moreover, on some systems devices will belong to PM domains and their
> drivers may potentially be used with different PM domains on different
> platforms. This means that drivers really should not make any assumptions
> about whether or not they can use runtime PM in their system suspend/resume
> routines. They can't.
Yes, clearly one mustn't make assumptions about unknown subsystems or
PM domains.
Alan Stern
More information about the linux-pm
mailing list