diff options
Diffstat (limited to 'linux-core/drm_drv.c')
| -rw-r--r-- | linux-core/drm_drv.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index 069ecd3e..192b05cd 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -265,6 +265,8 @@ int drm_takedown(drm_device_t * dev)  	if (drm_core_check_feature(dev, DRIVER_HAVE_DMA))  		drm_dma_takedown(dev); +	drm_pm_takedown(dev); +  	if (dev->lock.hw_lock) {  		dev->sigdata.lock = dev->lock.hw_lock = NULL;	/* SHM removed */  		dev->lock.filp = NULL; @@ -310,6 +312,8 @@ int drm_init(struct drm_driver *driver,  	drm_mem_init(); +	drm_pm_init(); +  	for (i = 0; (pciidlist[i].vendor != 0) && !drm_fb_loaded; i++) {  		pid = &pciidlist[i]; @@ -439,6 +443,8 @@ static void __exit drm_cleanup(drm_device_t * dev)  	if (dev->driver->postcleanup)  		dev->driver->postcleanup(dev); +	drm_pm_cleanup(); +  	drm_put_head(&dev->primary);  	if (drm_put_dev(dev))  		DRM_ERROR("Cannot unload module\n"); | 
