summaryrefslogtreecommitdiff
path: root/bsd-core/drm_drawable.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-07-19 17:11:11 -0700
committerEric Anholt <eric@anholt.net>2007-07-20 18:16:42 -0700
commit5b38e134163cc375e91424c4688cc9328c6e9082 (patch)
tree3930e659e99aa4c5c319aaca8cffa041e9087e62 /bsd-core/drm_drawable.c
parentc1119b1b092527fbb6950d0b5e51e076ddb00f29 (diff)
Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.
The data is now in kernel space, copied in/out as appropriate according to the This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal with those failures. This also means that XFree86 4.2.0 support for i810 DRM is lost.
Diffstat (limited to 'bsd-core/drm_drawable.c')
-rw-r--r--bsd-core/drm_drawable.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/bsd-core/drm_drawable.c b/bsd-core/drm_drawable.c
index b81d0a75..14a29407 100644
--- a/bsd-core/drm_drawable.c
+++ b/bsd-core/drm_drawable.c
@@ -64,10 +64,9 @@ drm_get_drawable_info(drm_device_t *dev, int handle)
return &result->info;
}
-int drm_adddraw(DRM_IOCTL_ARGS)
+int drm_adddraw(drm_device_t *dev, void *data, struct drm_file *file_priv)
{
- DRM_DEVICE;
- drm_draw_t draw;
+ drm_draw_t *draw = data;
struct bsd_drm_drawable_info *info;
info = drm_calloc(1, sizeof(struct bsd_drm_drawable_info),
@@ -78,19 +77,16 @@ int drm_adddraw(DRM_IOCTL_ARGS)
info->handle = alloc_unr(dev->drw_unrhdr);
DRM_SPINLOCK(&dev->drw_lock);
RB_INSERT(drawable_tree, &dev->drw_head, info);
- draw.handle = info->handle;
+ draw->handle = info->handle;
DRM_SPINUNLOCK(&dev->drw_lock);
- DRM_DEBUG("%d\n", draw.handle);
-
- DRM_COPY_TO_USER_IOCTL((drm_draw_t *)data, draw, sizeof(draw));
+ DRM_DEBUG("%d\n", draw->handle);
return 0;
}
-int drm_rmdraw(DRM_IOCTL_ARGS)
+int drm_rmdraw(drm_device_t *dev, void *data, struct drm_file *file_priv)
{
- DRM_DEVICE;
drm_draw_t *draw = (drm_draw_t *)data;
struct drm_drawable_info *info;
@@ -110,9 +106,8 @@ int drm_rmdraw(DRM_IOCTL_ARGS)
}
}
-int drm_update_draw(DRM_IOCTL_ARGS)
+int drm_update_draw(drm_device_t *dev, void *data, struct drm_file *file_priv)
{
- DRM_DEVICE;
struct drm_drawable_info *info;
struct drm_update_draw *update = (struct drm_update_draw *)data;
int ret;