aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-04-05 02:14:15 -0400
committerLen Brown <len.brown@intel.com>2009-04-05 02:14:15 -0400
commit478c6a43fcbc6c11609f8cee7c7b57223907754f (patch)
treea7f7952099da60d33032aed6de9c0c56c9f8779e /drivers/gpu/drm/i915/i915_drv.c
parent8a3f257c704e02aee9869decd069a806b45be3f1 (diff)
parent6bb597507f9839b13498781e481f5458aea33620 (diff)
Merge branch 'linus' into release
Conflicts: arch/x86/kernel/cpu/cpufreq/longhaul.c Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c44
1 files changed, 42 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 209592fdb7e7..6503e2210f65 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -42,6 +42,8 @@ module_param_named(modeset, i915_modeset, int, 0400);
42unsigned int i915_fbpercrtc = 0; 42unsigned int i915_fbpercrtc = 0;
43module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400); 43module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400);
44 44
45static struct drm_driver driver;
46
45static struct pci_device_id pciidlist[] = { 47static struct pci_device_id pciidlist[] = {
46 i915_PCI_IDS 48 i915_PCI_IDS
47}; 49};
@@ -117,6 +119,36 @@ static int i915_resume(struct drm_device *dev)
117 return ret; 119 return ret;
118} 120}
119 121
122static int __devinit
123i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
124{
125 return drm_get_dev(pdev, ent, &driver);
126}
127
128static void
129i915_pci_remove(struct pci_dev *pdev)
130{
131 struct drm_device *dev = pci_get_drvdata(pdev);
132
133 drm_put_dev(dev);
134}
135
136static int
137i915_pci_suspend(struct pci_dev *pdev, pm_message_t state)
138{
139 struct drm_device *dev = pci_get_drvdata(pdev);
140
141 return i915_suspend(dev, state);
142}
143
144static int
145i915_pci_resume(struct pci_dev *pdev)
146{
147 struct drm_device *dev = pci_get_drvdata(pdev);
148
149 return i915_resume(dev);
150}
151
120static struct vm_operations_struct i915_gem_vm_ops = { 152static struct vm_operations_struct i915_gem_vm_ops = {
121 .fault = i915_gem_fault, 153 .fault = i915_gem_fault,
122 .open = drm_gem_vm_open, 154 .open = drm_gem_vm_open,
@@ -150,8 +182,10 @@ static struct drm_driver driver = {
150 .get_reg_ofs = drm_core_get_reg_ofs, 182 .get_reg_ofs = drm_core_get_reg_ofs,
151 .master_create = i915_master_create, 183 .master_create = i915_master_create,
152 .master_destroy = i915_master_destroy, 184 .master_destroy = i915_master_destroy,
153 .proc_init = i915_gem_proc_init, 185#if defined(CONFIG_DEBUG_FS)
154 .proc_cleanup = i915_gem_proc_cleanup, 186 .debugfs_init = i915_gem_debugfs_init,
187 .debugfs_cleanup = i915_gem_debugfs_cleanup,
188#endif
155 .gem_init_object = i915_gem_init_object, 189 .gem_init_object = i915_gem_init_object,
156 .gem_free_object = i915_gem_free_object, 190 .gem_free_object = i915_gem_free_object,
157 .gem_vm_ops = &i915_gem_vm_ops, 191 .gem_vm_ops = &i915_gem_vm_ops,
@@ -172,6 +206,12 @@ static struct drm_driver driver = {
172 .pci_driver = { 206 .pci_driver = {
173 .name = DRIVER_NAME, 207 .name = DRIVER_NAME,
174 .id_table = pciidlist, 208 .id_table = pciidlist,
209 .probe = i915_pci_probe,
210 .remove = i915_pci_remove,
211#ifdef CONFIG_PM
212 .resume = i915_pci_resume,
213 .suspend = i915_pci_suspend,
214#endif
175 }, 215 },
176 216
177 .name = DRIVER_NAME, 217 .name = DRIVER_NAME,