[PATCH v2] i2c-tegra: Use the suspend_noirq/resume_noirq not suspend/resume
Mark Brown
broonie at opensource.wolfsonmicro.com
Thu Sep 22 14:13:13 EDT 2011
On Thu, Sep 22, 2011 at 12:03:35PM -0600, Grant Likely wrote:
> On Thu, Sep 22, 2011 at 11:51:32AM -0600, Stephen Warren wrote:
> > * Implement an explicit dependency management system within the kernel for
> > device suspend/resume, such that I2C bus would not be suspended before
> > the sound card that requires it. It is reported that Linus rejected this
> > proposal since he wanted suspend ordering to be based on probe ordering.
> This really should be revisted. That was in the context of full
> system suspend, but we're now in a world of runtime suspend which
> absolutely does need dependency tracking or reference counting to get
> the ordering right.
FWIW this was one of the bigger issues in the PM miniconference in Santa
Rosa, though a lot of the discission involved explaining the issues to
some of the x86 guys and there wasn't mssive progress on solutions.
> > * Enhance device probing such that the ASoC sound card device could defer
> > its probing until all required resources were available. This would
> > then cause the overall sound card suspend to occur at an appropriate early
> > time. Grant Likely was reported to have been working towards this goal.
> Yes, I'll send you my current patch for you to look at. One of the
> engineers from Linaro is going to be pushing that patch set forward.
> However, I don't know if it helps with this problem because I believe
> that the suspend order is based on the implicit probe order of
> devices, but my patch allows drivers to cause the probe order to get
> rearranged at runtime. I don't believe there is a global list showing
> the order that devices successfully got probed, but I may be wrong
> here.
Yes, I'm not convinced it'll change anything here. Though I guess it
should be a simple matter of programming to move devices around the list
depending on when they probe.
More information about the linux-arm-kernel
mailing list