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

From: Ezequiel Garcia
Date: Mon Mar 17 2014 - 16:44:52 EST


On Mar 17, Sebastian Capella wrote:
> On 16 March 2014 00:09, Ezequiel Garcia
> <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/