summaryrefslogtreecommitdiff
path: root/linux-core/drm_drv.c
diff options
context:
space:
mode:
authorJon Smirl <jonsmirl@yahoo.com>2005-06-24 19:31:06 +0000
committerJon Smirl <jonsmirl@yahoo.com>2005-06-24 19:31:06 +0000
commit5b0e93de32e9da390702df13d95ab63274294233 (patch)
tree00c049141ea585d3f7b6c6f341deb35565f9c7cf /linux-core/drm_drv.c
parentfe42d43a63d95243fa911f88bb01c383d5e6716e (diff)
More err path clean up for drm_pm Add mandatory sysdev shutdown function
Diffstat (limited to 'linux-core/drm_drv.c')
-rw-r--r--linux-core/drm_drv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index 6c1e5feb..6e0e70cf 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -339,7 +339,6 @@ int drm_init(struct drm_driver *driver,
if (!drm_fb_loaded)
pci_register_driver(&driver->pci_driver);
else {
- drm_pm_init();
for (i = 0; pciidlist[i].vendor != 0; i++) {
pid = &pciidlist[i];
@@ -516,12 +515,17 @@ static int __init drm_core_init(void)
goto err_p3;
}
+ if ((ret = drm_pm_init()))
+ goto err_p4;
+
drm_mem_init();
DRM_INFO("Initialized %s %d.%d.%d %s\n",
CORE_NAME,
CORE_MAJOR, CORE_MINOR, CORE_PATCHLEVEL, CORE_DATE);
return 0;
+err_p4:
+ remove_proc_entry("dri", NULL);
err_p3:
drm_sysfs_destroy(drm_class);
err_p2: