lkml.org 
[lkml]   [2014]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH RFC v1 0/3] hibernation support on ARM
Date
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

[PATCH RFC v1 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

[PATCH RFC v1 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

[PATCH RFC v1 3/3] ARM hibernation / suspend-to-disk
arch/arm/include/asm/memory.h | 1 +
arch/arm/kernel/Makefile | 1 +
arch/arm/kernel/hibernate.c | 106 +++++++++++++++++++++++++++++++++++++++++
arch/arm/mm/Kconfig | 5 ++
include/linux/suspend.h | 2 +
5 files changed, 115 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







\
 
 \ /
  Last update: 2014-02-19 03:42    [W:0.120 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site