lkml.org 
[lkml]   [2009]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 900af0d breaks some embedded suspend/resume
    On Sat, Apr 18, 2009 at 03:59:18PM +0200, Rafael J. Wysocki wrote:
    > On Saturday 18 April 2009, Rafael J. Wysocki wrote:
    > > On Saturday 18 April 2009, Russell King wrote:
    > > > Some platforms need to talk via I2C to power control devices during
    > > > the suspend method. Currently, they do this via the platform PM ops
    > > > prepare callback, relying on the I2C driver being hooked into the
    > > > 'late' suspend method, and hence being shut down _after_ the prepare
    > > > callback.
    > >
    > > Well, I was not aware of this dependency and it seems quite unusual for a
    > > platform to depend on a driver like this.
    > >
    > > > However, as of the above commit, the ordering is changed such that
    > > > platforms don't get notified of suspends until after all devices are
    > > > well and truely shut down.
    > > >
    > > > This can't work, and actively breaks some platforms.
    > >
    > > Sorry for that.
    > >
    > > The patchset in question had been discussed quite extensively before it was
    > > merged and it's a pity none of the people caring for the affected platforms
    > > took part in those discussions. That would allow us to avoid the breakage.
    > >
    > > > Please come up with another solution for your PCI problems,
    > >
    > > I don't think this is possible, sorry.
    > >
    > > > or provide alternative equivalent functionality where the platform code is
    > > > notified of the PM event prior to the late suspend callback being issued.
    > >
    > > There is the .begin() callback that could be used, but if you need the
    > > platform to be notified _just_ prior to the late suspend callback, then the
    > > only thing I can think of at the moment is the appended patch.
    > >
    > > It shouldn't break anything in theory, because the majority of drivers put
    > > their devices into low power states in the "regular" suspend callbacks anyway.
    >
    > Still, if it turns out to break anything, we'll have to think of an alternative
    > approach.
    >
    > Which platforms exactly are affected?

    The one I've maintained since 2.6.9 and am just sending out the initial
    bits for final review.

    (It's taking a long time to get it out there because I can only spend
    very little time on it, and it keeps getting broken - ALSA, SCSI and
    now PM have all broken it in the last couple of months.)

    --
    Russell King
    Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
    maintainer of:


    \
     
     \ /
      Last update: 2009-04-18 16:31    [W:3.085 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site