summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_drv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_drv.c')
-rw-r--r--drivers/gpu/drm/drm_drv.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index c26ee0822a05..fa8f09b0cb5d 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -348,6 +348,8 @@ static int __init drm_core_init(void)
DRM_INFO("Initialized %s %d.%d.%d %s\n",
CORE_NAME, CORE_MAJOR, CORE_MINOR, CORE_PATCHLEVEL, CORE_DATE);
+ drm_global_init();
+
return 0;
err_p3:
drm_sysfs_destroy();
@@ -361,6 +363,7 @@ err_p1:
static void __exit drm_core_exit(void)
{
+ drm_global_release();
remove_proc_entry("dri", NULL);
debugfs_remove(drm_debugfs_root);
drm_sysfs_destroy();
@@ -415,6 +418,12 @@ static int drm_version(struct drm_device *dev, void *data,
int drm_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg)
{
+ return drm_unlocked_ioctl(filp, cmd, arg);
+}
+EXPORT_SYMBOL(drm_ioctl);
+
+long drm_unlocked_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+{
struct drm_file *file_priv = filp->private_data;
struct drm_device *dev = file_priv->minor->dev;
struct drm_ioctl_desc *ioctl;
@@ -490,8 +499,7 @@ int drm_ioctl(struct inode *inode, struct file *filp,
DRM_DEBUG("ret = %x\n", retcode);
return retcode;
}
-
-EXPORT_SYMBOL(drm_ioctl);
+EXPORT_SYMBOL(drm_unlocked_ioctl);
struct drm_local_map *drm_getsarea(struct drm_device *dev)
{