aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2005-03-29 17:43:40 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-29 17:43:40 -0800
commit6cf672adaeb9d9bcae53e6c1658dcc4a1f732ead (patch)
tree62b9cc7f1b07e8ada53bf6edb032a27ddaea66dc
parent5c7ee81e002953ffdc98bde7805081068aa74245 (diff)
downloadhistory-6cf672adaeb9d9bcae53e6c1658dcc4a1f732ead.tar.gz
[PATCH] more pm_message_t fixes
While fixing usb, I stomped on a few more fixes. Print error when some device fails to power down, and 2 is no longer valid state to pass in pm_message_t. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/base/power/suspend.c2
-rw-r--r--drivers/ide/ide-disk.c2
-rw-r--r--drivers/pci/pci.c12
3 files changed, 10 insertions, 6 deletions
diff --git a/drivers/base/power/suspend.c b/drivers/base/power/suspend.c
index 8e1ace2d817e2..a0b5cf689e639 100644
--- a/drivers/base/power/suspend.c
+++ b/drivers/base/power/suspend.c
@@ -134,6 +134,8 @@ int device_power_down(pm_message_t state)
Done:
return error;
Error:
+ printk(KERN_ERR "Could not power down device %s: "
+ "error %d\n", kobject_name(&dev->kobj), error);
dpm_power_up();
goto Done;
}
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 8bf4b0e218f1d..9636135ee0779 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -1076,7 +1076,7 @@ static void ide_device_shutdown(struct device *dev)
}
printk("Shutdown: %s\n", drive->name);
- dev->bus->suspend(dev, PM_SUSPEND_STANDBY);
+ dev->bus->suspend(dev, PMSG_SUSPEND);
}
/*
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 5ce156382652e..fb2b64b1f827c 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -312,22 +312,24 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state)
/**
* pci_choose_state - Choose the power state of a PCI device
* @dev: PCI device to be suspended
- * @state: target sleep state for the whole system
+ * @state: target sleep state for the whole system. This is the value
+ * that is passed to suspend() function.
*
* Returns PCI power state suitable for given device and given system
* message.
*/
-pci_power_t pci_choose_state(struct pci_dev *dev, u32 state)
+pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state)
{
if (!pci_find_capability(dev, PCI_CAP_ID_PM))
return PCI_D0;
switch (state) {
- case 0: return PCI_D0;
- case 2: return PCI_D2;
+ case 0: return PCI_D0;
case 3: return PCI_D3hot;
- default: BUG();
+ default:
+ printk("They asked me for state %d\n", state);
+ BUG();
}
return PCI_D0;
}