On Mon, May 12, 2014 at 07:43:22PM +0200, Laurent Pinchart wrote: > The problem is not limited to IOMMUs. We have similar dependencies at > suspend/resume time with camera interfaces for instance, where two completely > unrelated device in the Linux device hierarchy (a camera interface platform > device in the SoC and an I2C camera sensor) need to be suspended and resumed > in a controlled order. I'm sure many more use cases exist. > Whether we can (partly) reuse existing infrastructure for this is not clear. > I'd like to gather use cases, to first find out exactly how widespread the > need is, and whether we can come up with a common solution or we are really > faced with different classes of similarly looking but distinct issues. This is something ASoC has been resolving since forever with the machine drivers, Russell King recently created a generic version of the code that does the dependency deferral glue (see linux/component.h). It's not a model of elegance but it ends up getting the job done. Anyway, I'm definitely interested in this - a couple of the subsystems I maintain are affected and it's something I've thought about a bit.