Skip to content

swsusp: Fix hibernation/restore code ordering

Rafael J. Wysocki lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4swsusp: Remove incorrect code from user.ckernel/power/user.c+4 -130 replies
2/4swsusp: Remove code duplication between disk.c and user.ckernel/power/disk.c kernel/power/power.h kernel/power/user.c+115 -1700 replies
3/4swsusp: Introduce restore platform operationsdrivers/acpi/sleep/main.c include/linux/suspend.h kernel/power/disk.c +3 more+92 -190 replies
4/4swsusp: Fix hibernation code orderingkernel/power/disk.c+7 -70 replies

Reviews trailers per patch

3 of 4 patches have a Reviewed-by or Acked-by.

PatchPavel Machek
1/4A-b
2/4A-b
3/4
4/4A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH -mm 0/4] swsusp: Fix hibernation/restore code ordering

Hi,

In the face of the recent change of suspend code ordering (cf. http://marc.info/?l=linux-acpi&m=117938245931603&w=2) we should also modify the code ordering in swsusp so that hibernation_ops->prepare() is executed after device_suspend().

However, for this purpose it seems reasonable to eliminate the code duplication between kernel/power/disk.c and kernel/power/user.c first.  By eliminating it we can reduce the size of user.c quite substantially and remove the maintenance difficulty with making essentially the same changes in two different places.

Moreover, we should also remove the calls to "platform" functions from the restore code path, since it doesn't carry out any power transition of the system, but we generally need to disable the GPEs before the restore if the 'platform' hibernation mode has been used.  To do this, we can introduce two new hibernation_ops to be used in the restore code.

Greetings,
Rafael