diff options
author | Jaroslav Kysela <perex@suse.cz> | 2006-02-01 13:08:56 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-02-01 13:08:56 +0100 |
commit | 847b9d01474f710e7a018186917d05e59e258309 (patch) | |
tree | c0da8777ce350c4b048aa6ed2c41fdd109c42e92 /drivers/char/agp/amd64-agp.c | |
parent | d1d051b28e9d3c3bed0bd15a2b49df3d04f7768f (diff) | |
parent | a6df590dd8b7644c8e298e3b13442bcd6ceeb739 (diff) | |
download | op-kernel-dev-847b9d01474f710e7a018186917d05e59e258309.zip op-kernel-dev-847b9d01474f710e7a018186917d05e59e258309.tar.gz |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/char/agp/amd64-agp.c')
-rw-r--r-- | drivers/char/agp/amd64-agp.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 810679d..9964c50 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c @@ -600,6 +600,26 @@ static void __devexit agp_amd64_remove(struct pci_dev *pdev) agp_put_bridge(bridge); } +#ifdef CONFIG_PM + +static int agp_amd64_suspend(struct pci_dev *pdev, pm_message_t state) +{ + pci_save_state(pdev); + pci_set_power_state(pdev, pci_choose_state(pdev, state)); + + return 0; +} + +static int agp_amd64_resume(struct pci_dev *pdev) +{ + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + + return amd_8151_configure(); +} + +#endif /* CONFIG_PM */ + static struct pci_device_id agp_amd64_pci_table[] = { { .class = (PCI_CLASS_BRIDGE_HOST << 8), @@ -718,6 +738,10 @@ static struct pci_driver agp_amd64_pci_driver = { .id_table = agp_amd64_pci_table, .probe = agp_amd64_probe, .remove = agp_amd64_remove, +#ifdef CONFIG_PM + .suspend = agp_amd64_suspend, + .resume = agp_amd64_resume, +#endif }; |