Hi, This series of patches implements changes that are possible/necessary/desirable (IMO) after the introduction of the .set_target() method in 'struct pm_ops' (the patch that introduces it is in -mm, http://marc.info/?l=linux-mm-commits&m=118306698814722&w=2). The patches make the following changes: * make ACPI use the new .set_target() method in 'struct pm_ops' * add an ACPI helper function for the devices to determine the power state to put the device into * move the definition of 'struct pm_ops' to <include/suspend.h> * change the name of 'struct pm_ops' to 'struct platform_suspend_ops' and modify the names of some related functions and global variables accordingly * modify 'struct platform_suspend_ops' so that .prepare() and .finish() don't take arguments (.enter() still takes the state argument, because some platforms don't need to implement the other callbacks) * make some functions normally defined in kernel/power/main.c be also defined when CONFIG_PM is unset * make suspend_ops be a static variable * rework 'struct hibernation_ops' to add the new method analogous to .set_target() * rename 'struct hibernation_ops' to 'struct platform_hibernation_ops' (in analogy with 'struct platform_suspend_ops') The details are in the changelogs. The series is on top of the current -mm (which is somewhat updated with respect to 2.6.22-rc6-mm1). For convenience, there is a series of patches applicable on top of 2.6.22-rc6-mm1, including the $subject patchset, at: http://www.sisk.pl/kernel/patches/2.6.22-rc6-mm1/ . Comments welcome. Greetings, Rafael -- "Premature optimization is the root of all evil." - Donald Knuth - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html