[AGPGART] Suspend/Resume support for ATI GART
Add suspend/resume support for the ati-agp module
Signed-off-by: Jaco Kroon <jaco@kroon.co.za>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
index 53372a8..5b74c36 100644
--- a/drivers/char/agp/ati-agp.c
+++ b/drivers/char/agp/ati-agp.c
@@ -244,6 +244,22 @@
}
+#ifdef CONFIG_PM
+static int agp_ati_resume(struct pci_dev *dev)
+{
+ pci_restore_state(dev);
+
+ return ati_configure();
+}
+
+static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state)
+{
+ pci_save_state(dev);
+
+ return 0;
+}
+#endif
+
/*
*Since we don't need contigious memory we just try
* to get the gatt table once
@@ -525,6 +541,10 @@
.id_table = agp_ati_pci_table,
.probe = agp_ati_probe,
.remove = agp_ati_remove,
+#ifdef CONFIG_PM
+ .resume = agp_ati_resume,
+ .suspend = agp_ati_suspend,
+#endif
};
static int __init agp_ati_init(void)