On Wed, May 14, 2014 at 05:26:20PM +0200, Laurent Pinchart wrote: > On Wednesday 14 May 2014 12:57:45 Mark Brown wrote: > > Since the core device probe is deferred until everything it depends on > > is ready it'll get pushed along the device list so that it appears after > > everything it needs and hence is suspended first. > That might solve (part of) the master vs. components dependencies (and even in > that case I'm pretty sure that there will be cases where the master needs to > be suspended first and cases where th slave(s) need to be suspended first), > but it doesn't handle inter-slaves dependencies. > In the V4L subsystem we've implemented an explicit power management API that > "slaves" (called subdevices in V4L) must implement, to be called by the > master. That's of course more of a workaround than a perfect (or even good) > solution. Right, that's what the function of the master device is in suspend for this model - it quiesces the compound device as a whole so that any interdependencies between the devices have been unwound (including giving callbacks to the slaves where appropriate). It gives us a place to hang everything associated with having the devices so closely interrelated. Though as Rafael says with async suspend that gets broken.