[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
@@ -1600,7 +1600,7 @@ static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pm_state == mdev->ofdev.dev.power.power_state || pm_state < 2)
|
||||
if (pm_state.event == mdev->ofdev.dev.power.power_state.event)
|
||||
return 0;
|
||||
|
||||
pmz_debug("suspend, switching to state %d\n", pm_state);
|
||||
@@ -1660,7 +1660,7 @@ static int pmz_resume(struct macio_dev *mdev)
|
||||
if (uap == NULL)
|
||||
return 0;
|
||||
|
||||
if (mdev->ofdev.dev.power.power_state == 0)
|
||||
if (mdev->ofdev.dev.power.power_state.event == PM_EVENT_ON)
|
||||
return 0;
|
||||
|
||||
pmz_debug("resume, switching to state 0\n");
|
||||
@@ -1713,7 +1713,7 @@ static int pmz_resume(struct macio_dev *mdev)
|
||||
|
||||
pmz_debug("resume, switching complete\n");
|
||||
|
||||
mdev->ofdev.dev.power.power_state = 0;
|
||||
mdev->ofdev.dev.power.power_state.event = PM_EVENT_ON;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user