
From: Pavel Machek <pavel@ucw.cz>

During my conversion, I discovered two more places where pci_choose_state
is needed to preserve type information.  Code should be equivalent, because
we only pass 0 or 3 in "state" parameter.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/net/tg3.c          |    2 +-
 25-akpm/drivers/usb/core/hcd-pci.c |   11 +++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff -puN drivers/net/tg3.c~driver-model-more-pci_choose_states-are-needed drivers/net/tg3.c
--- 25/drivers/net/tg3.c~driver-model-more-pci_choose_states-are-needed	2005-01-23 01:30:11.329219864 -0800
+++ 25-akpm/drivers/net/tg3.c	2005-01-23 01:30:11.340218192 -0800
@@ -8475,7 +8475,7 @@ static int tg3_suspend(struct pci_dev *p
 	spin_unlock(&dev->xmit_lock);
 	spin_unlock_irq(&tp->lock);
 
-	err = tg3_set_power_state(tp, state);
+	err = tg3_set_power_state(tp, pci_choose_state(pdev, state));
 	if (err) {
 		spin_lock_irq(&tp->lock);
 		spin_lock(&dev->xmit_lock);
diff -puN drivers/usb/core/hcd-pci.c~driver-model-more-pci_choose_states-are-needed drivers/usb/core/hcd-pci.c
--- 25/drivers/usb/core/hcd-pci.c~driver-model-more-pci_choose_states-are-needed	2005-01-23 01:30:11.330219712 -0800
+++ 25-akpm/drivers/usb/core/hcd-pci.c	2005-01-23 01:30:11.341218040 -0800
@@ -274,11 +274,12 @@ static char __attribute_used__ *pci_stat
  *
  * Store this function in the HCD's struct pci_driver as suspend().
  */
-int usb_hcd_pci_suspend (struct pci_dev *dev, u32 state)
+int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t pmsg)
 {
 	struct usb_hcd		*hcd;
 	int			retval = 0;
 	int			has_pci_pm;
+	pci_power_t		state;
 
 	hcd = pci_get_drvdata(dev);
 
@@ -287,8 +288,10 @@ int usb_hcd_pci_suspend (struct pci_dev 
 	 * PM-sensitive HCDs may already have done this.
 	 */
 	has_pci_pm = pci_find_capability(dev, PCI_CAP_ID_PM);
-	if (state > 4)
-		state = 4;
+
+	state = pci_choose_state(dev, pmsg);
+	if (state > PCI_D3cold)
+		state = PCI_D3cold;
 
 	switch (hcd->state) {
 
@@ -396,7 +399,7 @@ int usb_hcd_pci_resume (struct pci_dev *
 
 	if (has_pci_pm)
 		pci_set_power_state (dev, 0);
-	dev->dev.power.power_state = 0;
+	dev->dev.power.power_state = PMSG_ON;
 	retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ,
 				hcd->driver->description, hcd);
 	if (retval < 0) {
_
