[PATCH v7 2/2] ARM hibernation / suspend-to-disk
ezequiel.garcia at free-electrons.com
Mon Mar 17 16:44:10 EDT 2014
On Mar 17, Sebastian Capella wrote:
> On 16 March 2014 00:09, Ezequiel Garcia
> <ezequiel.garcia at free-electrons.com> wrote:
> > On Mar 05, Sebastian Capella wrote:
> > [..]
> >> diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
> >> index 1f8fed9..83707702 100644
> >> --- a/arch/arm/mm/Kconfig
> >> +++ b/arch/arm/mm/Kconfig
> >> @@ -611,6 +611,11 @@ config CPU_USE_DOMAINS
> >> config IO_36
> >> bool
> >> +config ARCH_HIBERNATION_POSSIBLE
> >> + default y if CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || CPU_XSCALE || CPU_XSC3 || CPU_V6 || CPU_V6K || CPU_V7
> > Is there any reason why CPU_FEROCEON is not listed here? FWIW, I've just built
> > (but not really tested) a Kirkwood kernel with CONFIG_HIBERNATION=y.
> No reason; I did not change this from the original patch I'd received.
> I didn't try to get a comprehensive list of supported hardware. To
> my understanding, the goal is to get the infrastructure in so that
> people can start working on their platforms and add support for them.
Sure, no problem. If you consider that build-test is enough, feel free to put
CPU_FEROCEON on that list. We added suspend/resume to feroceon not long ago.
> > And is there any reason to put this config in arch/arm/mm/Kconfig, instead of
> > in arch/arm/Kconfig, below ARCH_SUSPEND_POSSIBLE?
> I don't have a reason. Anyone else have a comment on this?
> Otherwise, I'll move it.. thanks!
It looked reasonable to me.
> > I'm also puzzled about having two separate options for suspend and hibernate,
> > maybe someone can explain me why a given CPU would support the former but not
> > the latter?
> It's part of having the generic hibernation implemented and available
> but with architecture specific dependencies. Where an architecture
> may not have support for hibernation, it will prevent compilation of
> the generic hibernation support. For example, at the moment, ARM does
> not support hibernation.
I guess my question wasn't clear. I mean to ask: Are there any other
requirements on an ARM platform to support hibernation, other than
If this is the *only* requirement, it seems to me we could make our
ARCH_SUSPEND_POSSIBLE also select ARCH_HIBERNATION_POSSIBLE.
Does this make sense?
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
More information about the linux-arm-kernel