diff options
Diffstat (limited to 'drivers/gpu/drm/drm_ioc32.c')
| -rw-r--r-- | drivers/gpu/drm/drm_ioc32.c | 89 | 
1 files changed, 30 insertions, 59 deletions
diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c index 282d9fdf9f4..d61d185cf04 100644 --- a/drivers/gpu/drm/drm_ioc32.c +++ b/drivers/gpu/drm/drm_ioc32.c @@ -104,7 +104,7 @@ static int compat_drm_version(struct file *file, unsigned int cmd,  			  &version->desc))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, +	err = drm_ioctl(file,  			DRM_IOCTL_VERSION, (unsigned long)version);  	if (err)  		return err; @@ -145,8 +145,7 @@ static int compat_drm_getunique(struct file *file, unsigned int cmd,  			  &u->unique))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_GET_UNIQUE, (unsigned long)u); +	err = drm_ioctl(file, DRM_IOCTL_GET_UNIQUE, (unsigned long)u);  	if (err)  		return err; @@ -174,8 +173,7 @@ static int compat_drm_setunique(struct file *file, unsigned int cmd,  			  &u->unique))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_SET_UNIQUE, (unsigned long)u); +	return drm_ioctl(file, DRM_IOCTL_SET_UNIQUE, (unsigned long)u);  }  typedef struct drm_map32 { @@ -205,8 +203,7 @@ static int compat_drm_getmap(struct file *file, unsigned int cmd,  	if (__put_user(idx, &map->offset))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_GET_MAP, (unsigned long)map); +	err = drm_ioctl(file, DRM_IOCTL_GET_MAP, (unsigned long)map);  	if (err)  		return err; @@ -246,8 +243,7 @@ static int compat_drm_addmap(struct file *file, unsigned int cmd,  	    || __put_user(m32.flags, &map->flags))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_ADD_MAP, (unsigned long)map); +	err = drm_ioctl(file, DRM_IOCTL_ADD_MAP, (unsigned long)map);  	if (err)  		return err; @@ -284,8 +280,7 @@ static int compat_drm_rmmap(struct file *file, unsigned int cmd,  	if (__put_user((void *)(unsigned long)handle, &map->handle))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_RM_MAP, (unsigned long)map); +	return drm_ioctl(file, DRM_IOCTL_RM_MAP, (unsigned long)map);  }  typedef struct drm_client32 { @@ -314,8 +309,7 @@ static int compat_drm_getclient(struct file *file, unsigned int cmd,  	if (__put_user(idx, &client->idx))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_GET_CLIENT, (unsigned long)client); +	err = drm_ioctl(file, DRM_IOCTL_GET_CLIENT, (unsigned long)client);  	if (err)  		return err; @@ -351,8 +345,7 @@ static int compat_drm_getstats(struct file *file, unsigned int cmd,  	if (!access_ok(VERIFY_WRITE, stats, sizeof(*stats)))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_GET_STATS, (unsigned long)stats); +	err = drm_ioctl(file, DRM_IOCTL_GET_STATS, (unsigned long)stats);  	if (err)  		return err; @@ -395,8 +388,7 @@ static int compat_drm_addbufs(struct file *file, unsigned int cmd,  	    || __put_user(agp_start, &buf->agp_start))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_ADD_BUFS, (unsigned long)buf); +	err = drm_ioctl(file, DRM_IOCTL_ADD_BUFS, (unsigned long)buf);  	if (err)  		return err; @@ -427,8 +419,7 @@ static int compat_drm_markbufs(struct file *file, unsigned int cmd,  	    || __put_user(b32.high_mark, &buf->high_mark))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_MARK_BUFS, (unsigned long)buf); +	return drm_ioctl(file, DRM_IOCTL_MARK_BUFS, (unsigned long)buf);  }  typedef struct drm_buf_info32 { @@ -469,8 +460,7 @@ static int compat_drm_infobufs(struct file *file, unsigned int cmd,  	    || __put_user(list, &request->list))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_INFO_BUFS, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_INFO_BUFS, (unsigned long)request);  	if (err)  		return err; @@ -531,8 +521,7 @@ static int compat_drm_mapbufs(struct file *file, unsigned int cmd,  	    || __put_user(list, &request->list))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_MAP_BUFS, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_MAP_BUFS, (unsigned long)request);  	if (err)  		return err; @@ -578,8 +567,7 @@ static int compat_drm_freebufs(struct file *file, unsigned int cmd,  			  &request->list))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_FREE_BUFS, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_FREE_BUFS, (unsigned long)request);  }  typedef struct drm_ctx_priv_map32 { @@ -605,8 +593,7 @@ static int compat_drm_setsareactx(struct file *file, unsigned int cmd,  			  &request->handle))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request);  }  static int compat_drm_getsareactx(struct file *file, unsigned int cmd, @@ -628,8 +615,7 @@ static int compat_drm_getsareactx(struct file *file, unsigned int cmd,  	if (__put_user(ctx_id, &request->ctx_id))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request);  	if (err)  		return err; @@ -664,8 +650,7 @@ static int compat_drm_resctx(struct file *file, unsigned int cmd,  			  &res->contexts))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_RES_CTX, (unsigned long)res); +	err = drm_ioctl(file, DRM_IOCTL_RES_CTX, (unsigned long)res);  	if (err)  		return err; @@ -718,8 +703,7 @@ static int compat_drm_dma(struct file *file, unsigned int cmd,  			  &d->request_sizes))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_DMA, (unsigned long)d); +	err = drm_ioctl(file, DRM_IOCTL_DMA, (unsigned long)d);  	if (err)  		return err; @@ -751,8 +735,7 @@ static int compat_drm_agp_enable(struct file *file, unsigned int cmd,  	if (put_user(m32.mode, &mode->mode))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_AGP_ENABLE, (unsigned long)mode); +	return drm_ioctl(file, DRM_IOCTL_AGP_ENABLE, (unsigned long)mode);  }  typedef struct drm_agp_info32 { @@ -781,8 +764,7 @@ static int compat_drm_agp_info(struct file *file, unsigned int cmd,  	if (!access_ok(VERIFY_WRITE, info, sizeof(*info)))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_AGP_INFO, (unsigned long)info); +	err = drm_ioctl(file, DRM_IOCTL_AGP_INFO, (unsigned long)info);  	if (err)  		return err; @@ -827,16 +809,14 @@ static int compat_drm_agp_alloc(struct file *file, unsigned int cmd,  	    || __put_user(req32.type, &request->type))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_AGP_ALLOC, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_AGP_ALLOC, (unsigned long)request);  	if (err)  		return err;  	if (__get_user(req32.handle, &request->handle)  	    || __get_user(req32.physical, &request->physical)  	    || copy_to_user(argp, &req32, sizeof(req32))) { -		drm_ioctl(file->f_path.dentry->d_inode, file, -			  DRM_IOCTL_AGP_FREE, (unsigned long)request); +		drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);  		return -EFAULT;  	} @@ -856,8 +836,7 @@ static int compat_drm_agp_free(struct file *file, unsigned int cmd,  	    || __put_user(handle, &request->handle))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_AGP_FREE, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);  }  typedef struct drm_agp_binding32 { @@ -881,8 +860,7 @@ static int compat_drm_agp_bind(struct file *file, unsigned int cmd,  	    || __put_user(req32.offset, &request->offset))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_AGP_BIND, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_AGP_BIND, (unsigned long)request);  }  static int compat_drm_agp_unbind(struct file *file, unsigned int cmd, @@ -898,8 +876,7 @@ static int compat_drm_agp_unbind(struct file *file, unsigned int cmd,  	    || __put_user(handle, &request->handle))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_AGP_UNBIND, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_AGP_UNBIND, (unsigned long)request);  }  #endif				/* __OS_HAS_AGP */ @@ -923,8 +900,7 @@ static int compat_drm_sg_alloc(struct file *file, unsigned int cmd,  	    || __put_user(x, &request->size))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_SG_ALLOC, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_SG_ALLOC, (unsigned long)request);  	if (err)  		return err; @@ -950,8 +926,7 @@ static int compat_drm_sg_free(struct file *file, unsigned int cmd,  	    || __put_user(x << PAGE_SHIFT, &request->handle))  		return -EFAULT; -	return drm_ioctl(file->f_path.dentry->d_inode, file, -			 DRM_IOCTL_SG_FREE, (unsigned long)request); +	return drm_ioctl(file, DRM_IOCTL_SG_FREE, (unsigned long)request);  }  #if defined(CONFIG_X86) || defined(CONFIG_IA64) @@ -981,8 +956,7 @@ static int compat_drm_update_draw(struct file *file, unsigned int cmd,  	    __put_user(update32.data, &request->data))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_UPDATE_DRAW, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_UPDATE_DRAW, (unsigned long)request);  	return err;  }  #endif @@ -1023,8 +997,7 @@ static int compat_drm_wait_vblank(struct file *file, unsigned int cmd,  	    || __put_user(req32.request.signal, &request->request.signal))  		return -EFAULT; -	err = drm_ioctl(file->f_path.dentry->d_inode, file, -			DRM_IOCTL_WAIT_VBLANK, (unsigned long)request); +	err = drm_ioctl(file, DRM_IOCTL_WAIT_VBLANK, (unsigned long)request);  	if (err)  		return err; @@ -1094,16 +1067,14 @@ long drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)  	 * than always failing.  	 */  	if (nr >= ARRAY_SIZE(drm_compat_ioctls)) -		return drm_ioctl(filp->f_dentry->d_inode, filp, cmd, arg); +		return drm_ioctl(filp, cmd, arg);  	fn = drm_compat_ioctls[nr]; -	lock_kernel();		/* XXX for now */  	if (fn != NULL)  		ret = (*fn) (filp, cmd, arg);  	else -		ret = drm_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg); -	unlock_kernel(); +		ret = drm_ioctl(filp, cmd, arg);  	return ret;  }  |