From afdabdabf588267c8c8d4f1378a8e9824d58d2d0 Mon Sep 17 00:00:00 2001 From: Jon Smirl Date: Sun, 26 Jun 2005 13:31:15 +0000 Subject: removed dev->sysdev_registered --- linux-core/drmP.h | 1 - linux-core/drm_pm.c | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/linux-core/drmP.h b/linux-core/drmP.h index 9f836773..f38c57d4 100644 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@ -724,7 +724,6 @@ typedef struct drm_device { drm_head_t primary; /**< primary screen head */ struct sys_device sysdev; /**< Power Management device structure */ - int sysdev_registered; /**< Whether the device has been registered */ } drm_device_t; static __inline__ int drm_core_check_feature(struct drm_device *dev, diff --git a/linux-core/drm_pm.c b/linux-core/drm_pm.c index b37cced1..1e93e1da 100644 --- a/linux-core/drm_pm.c +++ b/linux-core/drm_pm.c @@ -86,6 +86,9 @@ int drm_pm_setup(drm_device_t *dev) { int rc; + if (atomic_read(&sysdev_loaded) == -1) + return 0; + DRM_DEBUG("\n"); dev->sysdev.id = dev->primary.minor; @@ -96,8 +99,6 @@ int drm_pm_setup(drm_device_t *dev) #else rc = sysdev_register(&dev->sysdev); #endif - if (!rc) - dev->sysdev_registered = 1; return rc; } @@ -108,15 +109,16 @@ int drm_pm_setup(drm_device_t *dev) */ void drm_pm_takedown(drm_device_t *dev) { + if (atomic_read(&sysdev_loaded) == -1) + return; + DRM_DEBUG("\n"); - if(dev->sysdev_registered) { #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,4) - sys_device_unregister(&dev->sysdev); + sys_device_unregister(&dev->sysdev); #else - sysdev_unregister(&dev->sysdev); + sysdev_unregister(&dev->sysdev); #endif - } } int drm_pm_init(void) -- cgit v1.2.3