Re: [PATCH] PM: Introduce set_target method in pm_ops

From: Andrew Morton
Date: Thu Jun 28 2007 - 16:39:09 EST


On Wed, 27 Jun 2007 23:56:28 +0200
"Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

> [Please consider as 2.6.22 material.]

The patch tries to patch the function suspend_devices_and_enter() which is
introduced by pm-reduce-code-duplication-between-mainc-and-userc.patch,
which won't be in 2.6.22.

> ---
> From: Rafael J. Wysocki <rjw@xxxxxxx>
>
> Commit 52ade9b3b97fd3bea42842a056fe0786c28d0555 changed the suspend code
> ordering to execute pm_ops->prepare() after the device model per-device
> .suspend() calls in order to fix some ACPI-related issues. Unfortunately, it
> broke the at91 platform which assumed that pm_ops->prepare() would be called
> before suspending devices.
>
> at91 used pm_ops->prepare() to get notified of the target system sleep state, so
> that it could use this information while suspending devices. However, with the
> current suspend code ordering pm_ops->prepare() is called too late for this
> purpose. Thus, at91 needs an additional method in 'struct pm_ops' that will
> be used for notifying the platform of the target system sleep state. Moreover,
> in the future such a method will also be needed by ACPI.
>
> This patch adds the .set_target() method to 'struct pm_ops' and makes the
> suspend code call it, if implemented, before executing the device model
> per-device .suspend() calls. It also modifies the at91 code to implement
> pm_ops->set_target() instead of pm_ops->prepare().
>

-
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/