drm: Remove DRM_ERR OS macro.
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / char / drm / r128_state.c
index 14479cc08a570279626226fa30cdeb839d630c87..f0e2571e94a9ee6b06546b90c1c8892675704f5e 100644 (file)
@@ -1,6 +1,7 @@
 /* r128_state.c -- State support for r128 -*- linux-c -*-
  * Created: Thu Jan 27 02:53:43 2000 by gareth@valinux.com
- *
+ */
+/*
  * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
  * All Rights Reserved.
  *
@@ -37,7 +38,7 @@
  */
 
 static void r128_emit_clip_rects(drm_r128_private_t * dev_priv,
-                                drm_clip_rect_t * boxes, int count)
+                                struct drm_clip_rect * boxes, int count)
 {
        u32 aux_sc_cntl = 0x00000000;
        RING_LOCALS;
@@ -220,7 +221,7 @@ static __inline__ void r128_emit_tex1(drm_r128_private_t * dev_priv)
        ADVANCE_RING();
 }
 
-static __inline__ void r128_emit_state(drm_r128_private_t * dev_priv)
+static void r128_emit_state(drm_r128_private_t * dev_priv)
 {
        drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
        unsigned int dirty = sarea_priv->dirty;
@@ -351,13 +352,13 @@ static void r128_print_dirty(const char *msg, unsigned int flags)
                 (flags & R128_REQUIRE_QUIESCENCE) ? "quiescence, " : "");
 }
 
-static void r128_cce_dispatch_clear(drm_device_t * dev,
+static void r128_cce_dispatch_clear(struct drm_device * dev,
                                    drm_r128_clear_t * clear)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
        int nbox = sarea_priv->nbox;
-       drm_clip_rect_t *pbox = sarea_priv->boxes;
+       struct drm_clip_rect *pbox = sarea_priv->boxes;
        unsigned int flags = clear->flags;
        int i;
        RING_LOCALS;
@@ -457,12 +458,12 @@ static void r128_cce_dispatch_clear(drm_device_t * dev,
        }
 }
 
-static void r128_cce_dispatch_swap(drm_device_t * dev)
+static void r128_cce_dispatch_swap(struct drm_device * dev)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv;
        int nbox = sarea_priv->nbox;
-       drm_clip_rect_t *pbox = sarea_priv->boxes;
+       struct drm_clip_rect *pbox = sarea_priv->boxes;
        int i;
        RING_LOCALS;
        DRM_DEBUG("%s\n", __FUNCTION__);
@@ -523,7 +524,7 @@ static void r128_cce_dispatch_swap(drm_device_t * dev)
        ADVANCE_RING();
 }
 
-static void r128_cce_dispatch_flip(drm_device_t * dev)
+static void r128_cce_dispatch_flip(struct drm_device * dev)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        RING_LOCALS;
@@ -566,7 +567,7 @@ static void r128_cce_dispatch_flip(drm_device_t * dev)
        ADVANCE_RING();
 }
 
-static void r128_cce_dispatch_vertex(drm_device_t * dev, drm_buf_t * buf)
+static void r128_cce_dispatch_vertex(struct drm_device * dev, struct drm_buf * buf)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        drm_r128_buf_priv_t *buf_priv = buf->dev_private;
@@ -636,8 +637,8 @@ static void r128_cce_dispatch_vertex(drm_device_t * dev, drm_buf_t * buf)
        sarea_priv->nbox = 0;
 }
 
-static void r128_cce_dispatch_indirect(drm_device_t * dev,
-                                      drm_buf_t * buf, int start, int end)
+static void r128_cce_dispatch_indirect(struct drm_device * dev,
+                                      struct drm_buf * buf, int start, int end)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        drm_r128_buf_priv_t *buf_priv = buf->dev_private;
@@ -691,8 +692,8 @@ static void r128_cce_dispatch_indirect(drm_device_t * dev,
        dev_priv->sarea_priv->last_dispatch++;
 }
 
-static void r128_cce_dispatch_indices(drm_device_t * dev,
-                                     drm_buf_t * buf,
+static void r128_cce_dispatch_indices(struct drm_device * dev,
+                                     struct drm_buf * buf,
                                      int start, int end, int count)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
@@ -776,11 +777,11 @@ static void r128_cce_dispatch_indices(drm_device_t * dev,
 }
 
 static int r128_cce_dispatch_blit(DRMFILE filp,
-                                 drm_device_t * dev, drm_r128_blit_t * blit)
+                                 struct drm_device * dev, drm_r128_blit_t * blit)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
-       drm_device_dma_t *dma = dev->dma;
-       drm_buf_t *buf;
+       struct drm_device_dma *dma = dev->dma;
+       struct drm_buf *buf;
        drm_r128_buf_priv_t *buf_priv;
        u32 *data;
        int dword_shift, dwords;
@@ -808,7 +809,7 @@ static int r128_cce_dispatch_blit(DRMFILE filp,
                break;
        default:
                DRM_ERROR("invalid blit format %d\n", blit->format);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        /* Flush the pixel cache, and mark the contents as Read Invalid.
@@ -831,11 +832,11 @@ static int r128_cce_dispatch_blit(DRMFILE filp,
        if (buf->filp != filp) {
                DRM_ERROR("process %d using buffer owned by %p\n",
                          DRM_CURRENTPID, buf->filp);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (buf->pending) {
                DRM_ERROR("sending pending buffer %d\n", blit->idx);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        buf_priv->discard = 1;
@@ -886,7 +887,7 @@ static int r128_cce_dispatch_blit(DRMFILE filp,
  * have hardware stencil support.
  */
 
-static int r128_cce_dispatch_write_span(drm_device_t * dev,
+static int r128_cce_dispatch_write_span(struct drm_device * dev,
                                        drm_r128_depth_t * depth)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
@@ -899,22 +900,22 @@ static int r128_cce_dispatch_write_span(drm_device_t * dev,
 
        count = depth->n;
        if (count > 4096 || count <= 0)
-               return DRM_ERR(EMSGSIZE);
+               return -EMSGSIZE;
 
        if (DRM_COPY_FROM_USER(&x, depth->x, sizeof(x))) {
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
        if (DRM_COPY_FROM_USER(&y, depth->y, sizeof(y))) {
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        buffer_size = depth->n * sizeof(u32);
        buffer = drm_alloc(buffer_size, DRM_MEM_BUFS);
        if (buffer == NULL)
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        if (DRM_COPY_FROM_USER(buffer, depth->buffer, buffer_size)) {
                drm_free(buffer, buffer_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        mask_size = depth->n * sizeof(u8);
@@ -922,12 +923,12 @@ static int r128_cce_dispatch_write_span(drm_device_t * dev,
                mask = drm_alloc(mask_size, DRM_MEM_BUFS);
                if (mask == NULL) {
                        drm_free(buffer, buffer_size, DRM_MEM_BUFS);
-                       return DRM_ERR(ENOMEM);
+                       return -ENOMEM;
                }
                if (DRM_COPY_FROM_USER(mask, depth->mask, mask_size)) {
                        drm_free(buffer, buffer_size, DRM_MEM_BUFS);
                        drm_free(mask, mask_size, DRM_MEM_BUFS);
-                       return DRM_ERR(EFAULT);
+                       return -EFAULT;
                }
 
                for (i = 0; i < count; i++, x++) {
@@ -982,7 +983,7 @@ static int r128_cce_dispatch_write_span(drm_device_t * dev,
        return 0;
 }
 
-static int r128_cce_dispatch_write_pixels(drm_device_t * dev,
+static int r128_cce_dispatch_write_pixels(struct drm_device * dev,
                                          drm_r128_depth_t * depth)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
@@ -995,28 +996,28 @@ static int r128_cce_dispatch_write_pixels(drm_device_t * dev,
 
        count = depth->n;
        if (count > 4096 || count <= 0)
-               return DRM_ERR(EMSGSIZE);
+               return -EMSGSIZE;
 
        xbuf_size = count * sizeof(*x);
        ybuf_size = count * sizeof(*y);
        x = drm_alloc(xbuf_size, DRM_MEM_BUFS);
        if (x == NULL) {
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        }
        y = drm_alloc(ybuf_size, DRM_MEM_BUFS);
        if (y == NULL) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        }
        if (DRM_COPY_FROM_USER(x, depth->x, xbuf_size)) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
        if (DRM_COPY_FROM_USER(y, depth->y, xbuf_size)) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        buffer_size = depth->n * sizeof(u32);
@@ -1024,13 +1025,13 @@ static int r128_cce_dispatch_write_pixels(drm_device_t * dev,
        if (buffer == NULL) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        }
        if (DRM_COPY_FROM_USER(buffer, depth->buffer, buffer_size)) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
                drm_free(buffer, buffer_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        if (depth->mask) {
@@ -1040,14 +1041,14 @@ static int r128_cce_dispatch_write_pixels(drm_device_t * dev,
                        drm_free(x, xbuf_size, DRM_MEM_BUFS);
                        drm_free(y, ybuf_size, DRM_MEM_BUFS);
                        drm_free(buffer, buffer_size, DRM_MEM_BUFS);
-                       return DRM_ERR(ENOMEM);
+                       return -ENOMEM;
                }
                if (DRM_COPY_FROM_USER(mask, depth->mask, mask_size)) {
                        drm_free(x, xbuf_size, DRM_MEM_BUFS);
                        drm_free(y, ybuf_size, DRM_MEM_BUFS);
                        drm_free(buffer, buffer_size, DRM_MEM_BUFS);
                        drm_free(mask, mask_size, DRM_MEM_BUFS);
-                       return DRM_ERR(EFAULT);
+                       return -EFAULT;
                }
 
                for (i = 0; i < count; i++) {
@@ -1104,7 +1105,7 @@ static int r128_cce_dispatch_write_pixels(drm_device_t * dev,
        return 0;
 }
 
-static int r128_cce_dispatch_read_span(drm_device_t * dev,
+static int r128_cce_dispatch_read_span(struct drm_device * dev,
                                       drm_r128_depth_t * depth)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
@@ -1114,13 +1115,13 @@ static int r128_cce_dispatch_read_span(drm_device_t * dev,
 
        count = depth->n;
        if (count > 4096 || count <= 0)
-               return DRM_ERR(EMSGSIZE);
+               return -EMSGSIZE;
 
        if (DRM_COPY_FROM_USER(&x, depth->x, sizeof(x))) {
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
        if (DRM_COPY_FROM_USER(&y, depth->y, sizeof(y))) {
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        BEGIN_RING(7);
@@ -1147,7 +1148,7 @@ static int r128_cce_dispatch_read_span(drm_device_t * dev,
        return 0;
 }
 
-static int r128_cce_dispatch_read_pixels(drm_device_t * dev,
+static int r128_cce_dispatch_read_pixels(struct drm_device * dev,
                                         drm_r128_depth_t * depth)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
@@ -1158,7 +1159,7 @@ static int r128_cce_dispatch_read_pixels(drm_device_t * dev,
 
        count = depth->n;
        if (count > 4096 || count <= 0)
-               return DRM_ERR(EMSGSIZE);
+               return -EMSGSIZE;
 
        if (count > dev_priv->depth_pitch) {
                count = dev_priv->depth_pitch;
@@ -1168,22 +1169,22 @@ static int r128_cce_dispatch_read_pixels(drm_device_t * dev,
        ybuf_size = count * sizeof(*y);
        x = drm_alloc(xbuf_size, DRM_MEM_BUFS);
        if (x == NULL) {
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        }
        y = drm_alloc(ybuf_size, DRM_MEM_BUFS);
        if (y == NULL) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(ENOMEM);
+               return -ENOMEM;
        }
        if (DRM_COPY_FROM_USER(x, depth->x, xbuf_size)) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
        if (DRM_COPY_FROM_USER(y, depth->y, ybuf_size)) {
                drm_free(x, xbuf_size, DRM_MEM_BUFS);
                drm_free(y, ybuf_size, DRM_MEM_BUFS);
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        for (i = 0; i < count; i++) {
@@ -1219,7 +1220,7 @@ static int r128_cce_dispatch_read_pixels(drm_device_t * dev,
  * Polygon stipple
  */
 
-static void r128_cce_dispatch_stipple(drm_device_t * dev, u32 * stipple)
+static void r128_cce_dispatch_stipple(struct drm_device * dev, u32 * stipple)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        int i;
@@ -1268,7 +1269,7 @@ static int r128_cce_clear(DRM_IOCTL_ARGS)
        return 0;
 }
 
-static int r128_do_init_pageflip(drm_device_t * dev)
+static int r128_do_init_pageflip(struct drm_device * dev)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        DRM_DEBUG("\n");
@@ -1287,7 +1288,7 @@ static int r128_do_init_pageflip(drm_device_t * dev)
        return 0;
 }
 
-static int r128_do_cleanup_pageflip(drm_device_t * dev)
+static int r128_do_cleanup_pageflip(struct drm_device * dev)
 {
        drm_r128_private_t *dev_priv = dev->dev_private;
        DRM_DEBUG("\n");
@@ -1353,8 +1354,8 @@ static int r128_cce_vertex(DRM_IOCTL_ARGS)
 {
        DRM_DEVICE;
        drm_r128_private_t *dev_priv = dev->dev_private;
-       drm_device_dma_t *dma = dev->dma;
-       drm_buf_t *buf;
+       struct drm_device_dma *dma = dev->dma;
+       struct drm_buf *buf;
        drm_r128_buf_priv_t *buf_priv;
        drm_r128_vertex_t vertex;
 
@@ -1362,7 +1363,7 @@ static int r128_cce_vertex(DRM_IOCTL_ARGS)
 
        if (!dev_priv) {
                DRM_ERROR("%s called with no initialization\n", __FUNCTION__);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        DRM_COPY_FROM_USER_IOCTL(vertex, (drm_r128_vertex_t __user *) data,
@@ -1374,12 +1375,12 @@ static int r128_cce_vertex(DRM_IOCTL_ARGS)
        if (vertex.idx < 0 || vertex.idx >= dma->buf_count) {
                DRM_ERROR("buffer index %d (of %d max)\n",
                          vertex.idx, dma->buf_count - 1);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (vertex.prim < 0 ||
            vertex.prim > R128_CCE_VC_CNTL_PRIM_TYPE_TRI_TYPE2) {
                DRM_ERROR("buffer prim %d\n", vertex.prim);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
@@ -1391,11 +1392,11 @@ static int r128_cce_vertex(DRM_IOCTL_ARGS)
        if (buf->filp != filp) {
                DRM_ERROR("process %d using buffer owned by %p\n",
                          DRM_CURRENTPID, buf->filp);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (buf->pending) {
                DRM_ERROR("sending pending buffer %d\n", vertex.idx);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        buf->used = vertex.count;
@@ -1412,8 +1413,8 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
 {
        DRM_DEVICE;
        drm_r128_private_t *dev_priv = dev->dev_private;
-       drm_device_dma_t *dma = dev->dma;
-       drm_buf_t *buf;
+       struct drm_device_dma *dma = dev->dma;
+       struct drm_buf *buf;
        drm_r128_buf_priv_t *buf_priv;
        drm_r128_indices_t elts;
        int count;
@@ -1422,7 +1423,7 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
 
        if (!dev_priv) {
                DRM_ERROR("%s called with no initialization\n", __FUNCTION__);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        DRM_COPY_FROM_USER_IOCTL(elts, (drm_r128_indices_t __user *) data,
@@ -1434,11 +1435,11 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
        if (elts.idx < 0 || elts.idx >= dma->buf_count) {
                DRM_ERROR("buffer index %d (of %d max)\n",
                          elts.idx, dma->buf_count - 1);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (elts.prim < 0 || elts.prim > R128_CCE_VC_CNTL_PRIM_TYPE_TRI_TYPE2) {
                DRM_ERROR("buffer prim %d\n", elts.prim);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
@@ -1450,11 +1451,11 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
        if (buf->filp != filp) {
                DRM_ERROR("process %d using buffer owned by %p\n",
                          DRM_CURRENTPID, buf->filp);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (buf->pending) {
                DRM_ERROR("sending pending buffer %d\n", elts.idx);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        count = (elts.end - elts.start) / sizeof(u16);
@@ -1462,11 +1463,11 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
 
        if (elts.start & 0x7) {
                DRM_ERROR("misaligned buffer 0x%x\n", elts.start);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (elts.start < buf->used) {
                DRM_ERROR("no header 0x%x - 0x%x\n", elts.start, buf->used);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        buf->used = elts.end;
@@ -1482,7 +1483,7 @@ static int r128_cce_indices(DRM_IOCTL_ARGS)
 static int r128_cce_blit(DRM_IOCTL_ARGS)
 {
        DRM_DEVICE;
-       drm_device_dma_t *dma = dev->dma;
+       struct drm_device_dma *dma = dev->dma;
        drm_r128_private_t *dev_priv = dev->dev_private;
        drm_r128_blit_t blit;
        int ret;
@@ -1497,7 +1498,7 @@ static int r128_cce_blit(DRM_IOCTL_ARGS)
        if (blit.idx < 0 || blit.idx >= dma->buf_count) {
                DRM_ERROR("buffer index %d (of %d max)\n",
                          blit.idx, dma->buf_count - 1);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
@@ -1523,7 +1524,7 @@ static int r128_cce_depth(DRM_IOCTL_ARGS)
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
 
-       ret = DRM_ERR(EINVAL);
+       ret = -EINVAL;
        switch (depth.func) {
        case R128_WRITE_SPAN:
                ret = r128_cce_dispatch_write_span(dev, &depth);
@@ -1556,7 +1557,7 @@ static int r128_cce_stipple(DRM_IOCTL_ARGS)
                                 sizeof(stipple));
 
        if (DRM_COPY_FROM_USER(&mask, stipple.mask, 32 * sizeof(u32)))
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
 
@@ -1570,8 +1571,8 @@ static int r128_cce_indirect(DRM_IOCTL_ARGS)
 {
        DRM_DEVICE;
        drm_r128_private_t *dev_priv = dev->dev_private;
-       drm_device_dma_t *dma = dev->dma;
-       drm_buf_t *buf;
+       struct drm_device_dma *dma = dev->dma;
+       struct drm_buf *buf;
        drm_r128_buf_priv_t *buf_priv;
        drm_r128_indirect_t indirect;
 #if 0
@@ -1582,7 +1583,7 @@ static int r128_cce_indirect(DRM_IOCTL_ARGS)
 
        if (!dev_priv) {
                DRM_ERROR("%s called with no initialization\n", __FUNCTION__);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        DRM_COPY_FROM_USER_IOCTL(indirect, (drm_r128_indirect_t __user *) data,
@@ -1594,7 +1595,7 @@ static int r128_cce_indirect(DRM_IOCTL_ARGS)
        if (indirect.idx < 0 || indirect.idx >= dma->buf_count) {
                DRM_ERROR("buffer index %d (of %d max)\n",
                          indirect.idx, dma->buf_count - 1);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        buf = dma->buflist[indirect.idx];
@@ -1603,17 +1604,17 @@ static int r128_cce_indirect(DRM_IOCTL_ARGS)
        if (buf->filp != filp) {
                DRM_ERROR("process %d using buffer owned by %p\n",
                          DRM_CURRENTPID, buf->filp);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
        if (buf->pending) {
                DRM_ERROR("sending pending buffer %d\n", indirect.idx);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        if (indirect.start < buf->used) {
                DRM_ERROR("reusing indirect: start=0x%x actual=0x%x\n",
                          indirect.start, buf->used);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        RING_SPACE_TEST_WITH_RETURN(dev_priv);
@@ -1650,7 +1651,7 @@ static int r128_getparam(DRM_IOCTL_ARGS)
 
        if (!dev_priv) {
                DRM_ERROR("%s called with no initialization\n", __FUNCTION__);
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        DRM_COPY_FROM_USER_IOCTL(param, (drm_r128_getparam_t __user *) data,
@@ -1663,18 +1664,18 @@ static int r128_getparam(DRM_IOCTL_ARGS)
                value = dev->irq;
                break;
        default:
-               return DRM_ERR(EINVAL);
+               return -EINVAL;
        }
 
        if (DRM_COPY_TO_USER(param.value, &value, sizeof(int))) {
                DRM_ERROR("copy_to_user\n");
-               return DRM_ERR(EFAULT);
+               return -EFAULT;
        }
 
        return 0;
 }
 
-void r128_driver_prerelease(drm_device_t * dev, DRMFILE filp)
+void r128_driver_preclose(struct drm_device * dev, DRMFILE filp)
 {
        if (dev->dev_private) {
                drm_r128_private_t *dev_priv = dev->dev_private;
@@ -1684,29 +1685,29 @@ void r128_driver_prerelease(drm_device_t * dev, DRMFILE filp)
        }
 }
 
-void r128_driver_pretakedown(drm_device_t * dev)
+void r128_driver_lastclose(struct drm_device * dev)
 {
        r128_do_cleanup_cce(dev);
 }
 
 drm_ioctl_desc_t r128_ioctls[] = {
-       [DRM_IOCTL_NR(DRM_R128_INIT)] = {r128_cce_init, 1, 1},
-       [DRM_IOCTL_NR(DRM_R128_CCE_START)] = {r128_cce_start, 1, 1},
-       [DRM_IOCTL_NR(DRM_R128_CCE_STOP)] = {r128_cce_stop, 1, 1},
-       [DRM_IOCTL_NR(DRM_R128_CCE_RESET)] = {r128_cce_reset, 1, 1},
-       [DRM_IOCTL_NR(DRM_R128_CCE_IDLE)] = {r128_cce_idle, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_RESET)] = {r128_engine_reset, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_FULLSCREEN)] = {r128_fullscreen, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_SWAP)] = {r128_cce_swap, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_FLIP)] = {r128_cce_flip, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_CLEAR)] = {r128_cce_clear, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_VERTEX)] = {r128_cce_vertex, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_INDICES)] = {r128_cce_indices, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_BLIT)] = {r128_cce_blit, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_DEPTH)] = {r128_cce_depth, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_STIPPLE)] = {r128_cce_stipple, 1, 0},
-       [DRM_IOCTL_NR(DRM_R128_INDIRECT)] = {r128_cce_indirect, 1, 1},
-       [DRM_IOCTL_NR(DRM_R128_GETPARAM)] = {r128_getparam, 1, 0},
+       [DRM_IOCTL_NR(DRM_R128_INIT)] = {r128_cce_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY},
+       [DRM_IOCTL_NR(DRM_R128_CCE_START)] = {r128_cce_start, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY},
+       [DRM_IOCTL_NR(DRM_R128_CCE_STOP)] = {r128_cce_stop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY},
+       [DRM_IOCTL_NR(DRM_R128_CCE_RESET)] = {r128_cce_reset, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY},
+       [DRM_IOCTL_NR(DRM_R128_CCE_IDLE)] = {r128_cce_idle, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_RESET)] = {r128_engine_reset, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_FULLSCREEN)] = {r128_fullscreen, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_SWAP)] = {r128_cce_swap, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_FLIP)] = {r128_cce_flip, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_CLEAR)] = {r128_cce_clear, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_VERTEX)] = {r128_cce_vertex, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_INDICES)] = {r128_cce_indices, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_BLIT)] = {r128_cce_blit, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_DEPTH)] = {r128_cce_depth, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_STIPPLE)] = {r128_cce_stipple, DRM_AUTH},
+       [DRM_IOCTL_NR(DRM_R128_INDIRECT)] = {r128_cce_indirect, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY},
+       [DRM_IOCTL_NR(DRM_R128_GETPARAM)] = {r128_getparam, DRM_AUTH},
 };
 
 int r128_max_ioctl = DRM_ARRAY_SIZE(r128_ioctls);