[PATCH v7 2/2] ARM hibernation / suspend-to-disk

Ezequiel Garcia 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
suspend/resume support?

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
http://free-electrons.com



More information about the linux-arm-kernel mailing list