[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 <[email protected]>
Signed-off-by: Alexander Nyberg <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Pavel Machek 2005-09-03 15:56:57 -07:00 • committed by Linus Torvalds
commit ca078bae81
28 changed files with 108 additions and 101 deletions

View file

@ -333,13 +333,17 @@ pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state)
if (platform_pci_choose_state) {
ret = platform_pci_choose_state(dev, state);
if (ret >= 0)
state = ret;
state.event = ret;
}
switch (state) {
case 0: return PCI_D0;
case 3: return PCI_D3hot;
switch (state.event) {
case PM_EVENT_ON:
return PCI_D0;
case PM_EVENT_FREEZE:
case PM_EVENT_SUSPEND:
return PCI_D3hot;
default:
printk("They asked me for state %d\n", state);
printk("They asked me for state %d\n", state.event);
BUG();
}
return PCI_D0;