summaryrefslogtreecommitdiff
path: root/linux-core/i810_dma.c
diff options
context:
space:
mode:
authorJon Smirl <jonsmirl@yahoo.com>2004-09-30 18:13:33 +0000
committerJon Smirl <jonsmirl@yahoo.com>2004-09-30 18:13:33 +0000
commit3aef3841d0c8099a97a56a285f0a21d9147405bd (patch)
tree3f09642b0ca6016251386a51922d1d8975ad44bf /linux-core/i810_dma.c
parent0bff0d9eb6317ccccafc79cac7b235b4cb4c9161 (diff)
Make fops per driver instead of global, remove default flush, poll, read
functions
Diffstat (limited to 'linux-core/i810_dma.c')
-rw-r--r--linux-core/i810_dma.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c
index 56632aed..fce012b7 100644
--- a/linux-core/i810_dma.c
+++ b/linux-core/i810_dma.c
@@ -109,15 +109,6 @@ static int i810_freelist_put(drm_device_t *dev, drm_buf_t *buf)
return 0;
}
-static struct file_operations i810_buffer_fops = {
- .open = drm_open,
- .flush = drm_flush,
- .release = drm_release,
- .ioctl = drm_ioctl,
- .mmap = i810_mmap_buffers,
- .fasync = drm_fasync,
-};
-
int i810_mmap_buffers(struct file *filp, struct vm_area_struct *vma)
{
drm_file_t *priv = filp->private_data;
@@ -151,22 +142,19 @@ static int i810_map_buffer(drm_buf_t *buf, struct file *filp)
drm_device_t *dev = priv->dev;
drm_i810_buf_priv_t *buf_priv = buf->dev_private;
drm_i810_private_t *dev_priv = dev->dev_private;
- struct file_operations *old_fops;
int retcode = 0;
if (buf_priv->currently_mapped == I810_BUF_MAPPED)
return -EINVAL;
down_write( &current->mm->mmap_sem );
- old_fops = filp->f_op;
- filp->f_op = &i810_buffer_fops;
dev_priv->mmap_buffer = buf;
buf_priv->virtual = (void *)do_mmap(filp, 0, buf->total,
PROT_READ|PROT_WRITE,
MAP_SHARED,
buf->bus_address);
dev_priv->mmap_buffer = NULL;
- filp->f_op = old_fops;
+
if ((unsigned long)buf_priv->virtual > -1024UL) {
/* Real error */
DRM_ERROR("mmap error\n");