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/