Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Sebastian Capella <sebastian.capella <at> linaro.org>
Subject: [PATCH v2 0/3] hibernation support on ARM
Newsgroups: gmane.linux.power-management.general
Date: Tuesday 25th February 2014 00:27:36 UTC (over 3 years ago)
Patches adding support for hibernation on ARM
  - ARM hibernation / suspend-to-disk
  - Fix hang in freeze_processes during hibernation
  - add an irq disabled version of soft_restart

Patches based on v3.13 tag, verified hibernation on beaglebone black on a
branch
based on 3.13 merged with initial omap support from Russ Dill which be
found here:
http://git.linaro.org/git-ro/people/sebastian.capella/linux.git
hibernation_3.13_russMerge
(includes v1 patchset)

[PATCH v2 1/3] ARM: Add irq disabled version of soft_restart.

 arch/arm/include/asm/system_misc.h |    1 +
 arch/arm/kernel/process.c          |   15 ++++++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

 Adds the ability to run soft restart with local_irq/fiq_disable
 Useful in hibernation code paths (unchanged from v1)

[PATCH v2 2/3] Fix hibernation restore hang in freeze_processes
 drivers/base/firmware_class.c |    1 +
 1 file changed, 1 insertion(+)

 Add handling for PM_RESTORE_PREPARE notifier (unchanged from v1)

[PATCH v2 3/3] ARM hibernation / suspend-to-disk
 arch/arm/include/asm/memory.h |    1 +
 arch/arm/kernel/Makefile      |    1 +
 arch/arm/kernel/hibernate.c   |  104
+++++++++++++++++++++++++++++++++++++++++
 arch/arm/mm/Kconfig           |    5 ++
 include/linux/suspend.h       |    2 +
 5 files changed, 113 insertions(+)

 Adds support for ARM based hibernation


Additional notes:
-----------------

There are two checkpatch warnings added by this patch.  These follow
behavior in existing hibernation implementations on other platforms.

    WARNING: externs should be avoided in .c files
    #116: FILE: arch/arm/kernel/hibernate.c:26:
    +extern const void __nosave_begin, __nosave_end;

  This extern is picking up the linker nosave region definitions, only
  used in hibernate.  Follows same extern line used mips, powerpc, s390,
  sh, sparc, x86 & unicore32

    WARNING: externs should be avoided in .c files
    #191: FILE: arch/arm/kernel/hibernate.c:101:
    +extern void call_with_stack(void (*fn)(void *), void *arg, void *sp);

  This extern is used in the arch/arm/ in hibernate, process and
bL_switcher


Changes in v2:
--------------
* Removed unneeded flush_thread, use of __naked and cpu_init.
* dropped Cyril Chemparathy  from Cc: list as 
  emails are bouncing.




--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
CD: 10ms