diff options
author | Len Brown <len.brown@intel.com> | 2009-04-05 02:14:15 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-04-05 02:14:15 -0400 |
commit | 478c6a43fcbc6c11609f8cee7c7b57223907754f (patch) | |
tree | a7f7952099da60d33032aed6de9c0c56c9f8779e /drivers/gpu/drm/i915/i915_drv.c | |
parent | 8a3f257c704e02aee9869decd069a806b45be3f1 (diff) | |
parent | 6bb597507f9839b13498781e481f5458aea33620 (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.c | 44 |
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); | |||
42 | unsigned int i915_fbpercrtc = 0; | 42 | unsigned int i915_fbpercrtc = 0; |
43 | module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400); | 43 | module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400); |
44 | 44 | ||
45 | static struct drm_driver driver; | ||
46 | |||
45 | static struct pci_device_id pciidlist[] = { | 47 | static 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 | ||
122 | static int __devinit | ||
123 | i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | ||
124 | { | ||
125 | return drm_get_dev(pdev, ent, &driver); | ||
126 | } | ||
127 | |||
128 | static void | ||
129 | i915_pci_remove(struct pci_dev *pdev) | ||
130 | { | ||
131 | struct drm_device *dev = pci_get_drvdata(pdev); | ||
132 | |||
133 | drm_put_dev(dev); | ||
134 | } | ||
135 | |||
136 | static int | ||
137 | i915_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 | |||
144 | static int | ||
145 | i915_pci_resume(struct pci_dev *pdev) | ||
146 | { | ||
147 | struct drm_device *dev = pci_get_drvdata(pdev); | ||
148 | |||
149 | return i915_resume(dev); | ||
150 | } | ||
151 | |||
120 | static struct vm_operations_struct i915_gem_vm_ops = { | 152 | static 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, |