git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
char
/
drm
/
drm_agpsupport.h
diff --git
a/drivers/char/drm/drm_agpsupport.h
b/drivers/char/drm/drm_agpsupport.h
index
8b3439f
..
81b595e
100644
(file)
--- a/
drivers/char/drm/drm_agpsupport.h
+++ b/
drivers/char/drm/drm_agpsupport.h
@@
-34,8
+34,7
@@
#include "drmP.h"
#include <linux/module.h>
#include "drmP.h"
#include <linux/module.h>
-#if __REALLY_HAVE_AGP
-
+#if __OS_HAS_AGP
#define DRM_AGP_GET (drm_agp_t *)inter_module_get("drm_agp")
#define DRM_AGP_PUT inter_module_put("drm_agp")
#define DRM_AGP_GET (drm_agp_t *)inter_module_get("drm_agp")
#define DRM_AGP_PUT inter_module_put("drm_agp")
@@
-79,7
+78,7
@@
int DRM(agp_info)(struct inode *inode, struct file *filp,
info.id_vendor = kern->device->vendor;
info.id_device = kern->device->device;
info.id_vendor = kern->device->vendor;
info.id_device = kern->device->device;
- if (copy_to_user((drm_agp_info_t *)arg, &info, sizeof(info)))
+ if (copy_to_user((drm_agp_info_t
__user
*)arg, &info, sizeof(info)))
return -EFAULT;
return 0;
}
return -EFAULT;
return 0;
}
@@
-103,7
+102,11
@@
int DRM(agp_acquire)(struct inode *inode, struct file *filp,
drm_device_t *dev = priv->dev;
int retcode;
drm_device_t *dev = priv->dev;
int retcode;
- if (!dev->agp || dev->agp->acquired || !drm_agp->acquire)
+ if (!dev->agp)
+ return -ENODEV;
+ if (dev->agp->acquired)
+ return -EBUSY;
+ if (!drm_agp->acquire)
return -EINVAL;
if ((retcode = drm_agp->acquire()))
return retcode;
return -EINVAL;
if ((retcode = drm_agp->acquire()))
return retcode;
@@
-169,7
+172,7
@@
int DRM(agp_enable)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired || !drm_agp->enable)
return -EINVAL;
if (!dev->agp || !dev->agp->acquired || !drm_agp->enable)
return -EINVAL;
- if (copy_from_user(&mode, (drm_agp_mode_t *)arg, sizeof(mode)))
+ if (copy_from_user(&mode, (drm_agp_mode_t
__user
*)arg, sizeof(mode)))
return -EFAULT;
dev->agp->mode = mode.mode;
return -EFAULT;
dev->agp->mode = mode.mode;
@@
-201,10
+204,11
@@
int DRM(agp_alloc)(struct inode *inode, struct file *filp,
DRM_AGP_MEM *memory;
unsigned long pages;
u32 type;
DRM_AGP_MEM *memory;
unsigned long pages;
u32 type;
+ drm_agp_buffer_t __user *argp = (void __user *)arg;
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
- if (copy_from_user(&request,
(drm_agp_buffer_t *)arg
, sizeof(request)))
+ if (copy_from_user(&request,
argp
, sizeof(request)))
return -EFAULT;
if (!(entry = DRM(alloc)(sizeof(*entry), DRM_MEM_AGPLISTS)))
return -ENOMEM;
return -EFAULT;
if (!(entry = DRM(alloc)(sizeof(*entry), DRM_MEM_AGPLISTS)))
return -ENOMEM;
@@
-232,7
+236,7
@@
int DRM(agp_alloc)(struct inode *inode, struct file *filp,
request.handle = entry->handle;
request.physical = memory->physical;
request.handle = entry->handle;
request.physical = memory->physical;
- if (copy_to_user(
(drm_agp_buffer_t *)arg
, &request, sizeof(request))) {
+ if (copy_to_user(
argp
, &request, sizeof(request))) {
dev->agp->memory = entry->next;
dev->agp->memory->prev = NULL;
DRM(free_agp)(memory, pages);
dev->agp->memory = entry->next;
dev->agp->memory->prev = NULL;
DRM(free_agp)(memory, pages);
@@
-286,7
+290,7
@@
int DRM(agp_unbind)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
- if (copy_from_user(&request, (drm_agp_binding_t *)arg, sizeof(request)))
+ if (copy_from_user(&request, (drm_agp_binding_t
__user
*)arg, sizeof(request)))
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
@@
-323,7
+327,7
@@
int DRM(agp_bind)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired || !drm_agp->bind_memory)
return -EINVAL;
if (!dev->agp || !dev->agp->acquired || !drm_agp->bind_memory)
return -EINVAL;
- if (copy_from_user(&request, (drm_agp_binding_t *)arg, sizeof(request)))
+ if (copy_from_user(&request, (drm_agp_binding_t
__user
*)arg, sizeof(request)))
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
@@
-362,7
+366,7
@@
int DRM(agp_free)(struct inode *inode, struct file *filp,
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
if (!dev->agp || !dev->agp->acquired)
return -EINVAL;
- if (copy_from_user(&request, (drm_agp_buffer_t *)arg, sizeof(request)))
+ if (copy_from_user(&request, (drm_agp_buffer_t
__user
*)arg, sizeof(request)))
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
return -EFAULT;
if (!(entry = DRM(agp_lookup_entry)(dev, request.handle)))
return -EINVAL;
@@
-461,4
+465,4
@@
int DRM(agp_unbind_memory)(DRM_AGP_MEM *handle)
return drm_agp->unbind_memory(handle);
}
return drm_agp->unbind_memory(handle);
}
-#endif /* __
REALLY_HAVE
_AGP */
+#endif /* __
OS_HAS
_AGP */