summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-08-02 19:13:45 +1000
committerDave Airlie <airlied@linux.ie>2007-08-02 19:13:58 +1000
commit7602e4f8a67d777437502672b4f74d9b990535ce (patch)
tree1d6dfe707ad02b98542dbd3768b551d6b58ae77e
parentc395d27a725f170645704bfc0d27b1e935b53c83 (diff)
drm: add unlocked ioctl code path - not used yet
-rw-r--r--linux-core/drmP.h2
-rw-r--r--linux-core/drm_drv.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 2b7e0a44..a61efcff 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -911,6 +911,8 @@ extern void drm_exit(struct drm_driver *driver);
extern void drm_cleanup_pci(struct pci_dev *pdev);
extern int drm_ioctl(struct inode *inode, struct file *filp,
unsigned int cmd, unsigned long arg);
+extern long drm_unlocked_ioctl(struct file *filp,
+ unsigned int cmd, unsigned long arg);
extern long drm_compat_ioctl(struct file *filp,
unsigned int cmd, unsigned long arg);
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index cc676bda..bb15987e 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -574,6 +574,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->head->dev;
struct drm_ioctl_desc *ioctl;
@@ -650,7 +656,7 @@ err_i1:
DRM_DEBUG("ret = %x\n", retcode);
return retcode;
}
-EXPORT_SYMBOL(drm_ioctl);
+EXPORT_SYMBOL(drm_unlocked_ioctl);
drm_local_map_t *drm_getsarea(struct drm_device *dev)
{