On Friday, June 20, 2014 10:48:09 AM Alan Stern wrote:
> 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.

I agree.

I guess we'll have to introduce a separate opt-in flag for drivers with this
specific need.  At least I don't see any other way to take that into account.

> Note: this is a separate issue from the meaning of disabled_depth > 0.

Yes, it is.

Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to