On Monday 22 June 2009, Alan Stern wrote: > On Mon, 22 Jun 2009, Rafael J. Wysocki wrote: > > > > Again, this boils down to how drivers decide to use the async > > > interface. I can see justifications for both pm_request_resume_get > > > (which would always increment the counter) and pm_request_resume (which > > > would increment the counter only if a work item had to be queued). > > > > OK, so this means we should provide both at the core level and let the drivers > > decide which one to use. > > > > I think in both cases the caller would be responsible for decrementing the > > counter? > > Sure. They could call pm_runtime_put just once at the end of their > runtime_resume method (assuming they used pm_request_resume), or they > could call it at every place where some deferred work was finished > (assuming they used pm_request_resume_get). > > > > Okay, we don't need it then. I forgot to mention in the previous > > > message that there also has to be a pm_runtime_del() routine, which > > > should cancel pending workqueue items and set the counter to some high > > > value so that no new items are added. > > > > Should that be called by device_pm_remove()? I think so. > > Yes. I suppose it could be named pm_runtime_remove. Either would be > okay. OK I'm sending a new version of the $subject patch, containing these changes among other things, in a new thread. Best, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm