Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 166703
b: refs/heads/master
c: 7bfc4ab
h: refs/heads/master
i:
  166701: 725aec7
  166699: e13eefd
  166695: be25827
  166687: 44cc230
v: v3
  • Loading branch information
Anton Vorontsov authored and David S. Miller committed Oct 1, 2009
1 parent b393410 commit d5d45e5
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 40 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a55c0a0ed41533b3a7b32a6c8acdc1bb04a017b5
refs/heads/master: 7bfc4ab5620d8169d2effc0dbb644f207f75a9e3
77 changes: 38 additions & 39 deletions trunk/drivers/net/3c59x.c
Original file line number Diff line number Diff line change
Expand Up @@ -805,52 +805,54 @@ static void poll_vortex(struct net_device *dev)

#ifdef CONFIG_PM

static int vortex_suspend(struct pci_dev *pdev, pm_message_t state)
static int vortex_suspend(struct device *dev)
{
struct net_device *dev = pci_get_drvdata(pdev);
struct pci_dev *pdev = to_pci_dev(dev);
struct net_device *ndev = pci_get_drvdata(pdev);

if (!ndev || !netif_running(ndev))
return 0;

netif_device_detach(ndev);
vortex_down(ndev, 1);

if (dev && netdev_priv(dev)) {
if (netif_running(dev)) {
netif_device_detach(dev);
vortex_down(dev, 1);
disable_irq(dev->irq);
}
pci_save_state(pdev);
pci_enable_wake(pdev, pci_choose_state(pdev, state), 0);
pci_disable_device(pdev);
pci_set_power_state(pdev, pci_choose_state(pdev, state));
}
return 0;
}

static int vortex_resume(struct pci_dev *pdev)
static int vortex_resume(struct device *dev)
{
struct net_device *dev = pci_get_drvdata(pdev);
struct vortex_private *vp = netdev_priv(dev);
struct pci_dev *pdev = to_pci_dev(dev);
struct net_device *ndev = pci_get_drvdata(pdev);
int err;

if (dev && vp) {
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
err = pci_enable_device(pdev);
if (err) {
pr_warning("%s: Could not enable device\n",
dev->name);
return err;
}
pci_set_master(pdev);
if (netif_running(dev)) {
err = vortex_up(dev);
if (err)
return err;
enable_irq(dev->irq);
netif_device_attach(dev);
}
}
if (!ndev || !netif_running(ndev))
return 0;

err = vortex_up(ndev);
if (err)
return err;

netif_device_attach(ndev);

return 0;
}

#endif /* CONFIG_PM */
static struct dev_pm_ops vortex_pm_ops = {
.suspend = vortex_suspend,
.resume = vortex_resume,
.freeze = vortex_suspend,
.thaw = vortex_resume,
.poweroff = vortex_suspend,
.restore = vortex_resume,
};

#define VORTEX_PM_OPS (&vortex_pm_ops)

#else /* !CONFIG_PM */

#define VORTEX_PM_OPS NULL

#endif /* !CONFIG_PM */

#ifdef CONFIG_EISA
static struct eisa_device_id vortex_eisa_ids[] = {
Expand Down Expand Up @@ -3199,10 +3201,7 @@ static struct pci_driver vortex_driver = {
.probe = vortex_init_one,
.remove = __devexit_p(vortex_remove_one),
.id_table = vortex_pci_tbl,
#ifdef CONFIG_PM
.suspend = vortex_suspend,
.resume = vortex_resume,
#endif
.driver.pm = VORTEX_PM_OPS,
};


Expand Down

0 comments on commit d5d45e5

Please sign in to comment.