[PATCH] swsusp: switch pm_message_t to struct
This adds type-checking to pm_message_t, so that people can't confuse it with int or u32. It also allows us to fix "disk yoyo" during suspend (disk spinning down/up/down). [We've tried that before; since that cpufreq problems were fixed and I've tried make allyes config and fixed resulting damage.] Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Alexander Nyberg <alexn@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
829ca9a30a
commit
ca078bae81
@@ -708,7 +708,7 @@ static int __pmac media_bay_suspend(struct macio_dev *mdev, pm_message_t state)
|
||||
{
|
||||
struct media_bay_info *bay = macio_get_drvdata(mdev);
|
||||
|
||||
if (state != mdev->ofdev.dev.power.power_state && state == PM_SUSPEND_MEM) {
|
||||
if (state.event != mdev->ofdev.dev.power.power_state.event && state.event == PM_EVENT_SUSPEND) {
|
||||
down(&bay->lock);
|
||||
bay->sleeping = 1;
|
||||
set_mb_power(bay, 0);
|
||||
@@ -723,7 +723,7 @@ static int __pmac media_bay_resume(struct macio_dev *mdev)
|
||||
{
|
||||
struct media_bay_info *bay = macio_get_drvdata(mdev);
|
||||
|
||||
if (mdev->ofdev.dev.power.power_state != 0) {
|
||||
if (mdev->ofdev.dev.power.power_state.event != PM_EVENT_ON) {
|
||||
mdev->ofdev.dev.power.power_state = PMSG_ON;
|
||||
|
||||
/* We re-enable the bay using it's previous content
|
||||
|
@@ -3065,7 +3065,7 @@ static int pmu_sys_suspended = 0;
|
||||
|
||||
static int pmu_sys_suspend(struct sys_device *sysdev, pm_message_t state)
|
||||
{
|
||||
if (state != PM_SUSPEND_DISK || pmu_sys_suspended)
|
||||
if (state.event != PM_EVENT_SUSPEND || pmu_sys_suspended)
|
||||
return 0;
|
||||
|
||||
/* Suspend PMU event interrupts */
|
||||
|
Reference in New Issue
Block a user