Messages in this thread | | | Date | Fri, 20 Jun 2014 10:48:09 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [PATCH 1/1] PM / Runtime: let rpm_resume fail if rpm disabled and device suspended. |
| |
On Fri, 20 Jun 2014, Rafael J. Wysocki wrote:
> > For a general device, the fact that dev->power.is_suspended is set > > means the device _has_ been powered down. Even though the > > runtime_status may not have changed, the PM core has to assume the > > device is not available for use. > > This seems to go a bit too far. What power.is_suspended actually means is > that __device_suspend() has run for the device successfully. What the > implications of that are depends on the bus type (or subsystem in general) > and device driver. > > > While your I2C devices may be useable even after the ->suspend callback > > returns, for most devices this isn't true. So we shouldn't allow > > rpm_resume() to return imediately when is_suspended is set. > > I can agree with that.
We really do need to decide more precisely how runtime PM and system PM will interact. Should ->runtime_resume callbacks be allowed after ->suspend has returned?
Kevin has stated that some devices do need this ability. But most don't. The PM core needs to handle these conflicting requirements somehow.
Note: this is a separate issue from the meaning of disabled_depth > 0.
Alan Stern
| |