• Rafael J. Wysocki's avatar
    Suspend-related patches for 2.6.27 · d8f3de0d
    Rafael J. Wysocki authored
    ACPI PM: Add possibility to change suspend sequence
    
    There are some systems out there that don't work correctly with
    our current suspend/hibernation code ordering.  Provide a workaround
    for these systems allowing them to pass 'acpi_sleep=old_ordering' in
    the kernel command line so that it will use the pre-ACPI 2.0 ("old")
    suspend code ordering.
    
    Unfortunately, this requires us to add a platform hook to the
    resuming of devices for recovering the platform in case one of the
    device drivers' .suspend() routines returns error code.  Namely,
    ACPI 1.0 specifies that _PTS should be called before suspending
    devices, but _WAK still should be called before resuming them in
    order to undo the changes made by _PTS.  However, if there is an
    error during suspending devices, they are automatically resumed
    without returning control to the PM core, so the _WAK has to be
    called from within device_resume() in that cases.
    
    The patch also reorders and refactors the ACPI suspend/hibernation
    code to avoid duplication as far as reasonably possible.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Acked-by: default avatarPavel Machek <pavel@suse.cz>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    d8f3de0d
main.c 13.7 KB