Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and suspend2: hang in atomic copy)

Rafael J. Wysocki
2007-04-27T10:14:03Z

On Friday, 27 April 2007 11:41, Johannes Berg wrote:
> On Thu, 2007-04-26 at 21:02 +0200, Rafael J. Wysocki wrote:
>
> > Yes. That's because we want to be able to repeat creating the image
> > without closing the fd in some situations.
>
> Oh yeah, I just checked and it's not in fact necessary. I'm just
> confused.
>
> > Still, we could use a global var 'platform_hibernation' or something like this,
> > I think. Then, we can do
> >
> > #define platform_hibernation 0
> >
> > on the architectures that don't need it and make ACPI use it instead of this
> > "dynamic linking".
>
> No, because acpi doesn't know at build time whether it can actually do
> S4 or not.

That's not a problem, I think.

1) We define platform_hibernation if CONFIG_ACPI is set.

2) In the ACPI code we do

if (can do S4)
platform_hibernation = 1;

3) We have functions arch_platform_prepare()/finish()/enter() that are defined
to be noops for anything but ACPI systems and for ACPI systems they are
defined like this:

int arch_platform_enter(void)
{
if (!platform_hibernation)
return 0;

...
}

I think it should work.

Greetings,
Rafael