vserver 1.9.5.x5
[linux-2.6.git] / drivers / char / drm / sis_mm.c
index 2444716..3038e05 100644 (file)
@@ -28,7 +28,6 @@
  * 
  */
 
-#include "sis.h"
 #include "drmP.h"
 #include "sis_drm.h"
 #include "sis_drv.h"
 #include <video/sisfb.h>
 #endif
 
+drm_ioctl_desc_t sis_ioctls[] = {
+       [DRM_IOCTL_NR(DRM_SIS_FB_ALLOC)]  = { sis_fb_alloc,        1, 0 },
+       [DRM_IOCTL_NR(DRM_SIS_FB_FREE)]   = { sis_fb_free,         1, 0 },
+       [DRM_IOCTL_NR(DRM_SIS_AGP_INIT)]  = { sis_ioctl_agp_init,  1, 1 },
+       [DRM_IOCTL_NR(DRM_SIS_AGP_ALLOC)] = { sis_ioctl_agp_alloc, 1, 0 },
+       [DRM_IOCTL_NR(DRM_SIS_AGP_FREE)]  = { sis_ioctl_agp_free,  1, 0 },
+       [DRM_IOCTL_NR(DRM_SIS_FB_INIT)]   = { sis_fb_init,         1, 1 }
+};
+
+int sis_max_ioctl = DRM_ARRAY_SIZE(sis_ioctls);
+
 #define MAX_CONTEXT 100
 #define VIDEO_TYPE 0 
 #define AGP_TYPE 1
@@ -159,7 +169,7 @@ int sis_fb_init( DRM_IOCTL_ARGS )
        DRM_COPY_FROM_USER_IOCTL(fb, (drm_sis_fb_t __user *)data, sizeof(fb));
 
        if (dev_priv == NULL) {
-               dev->dev_private = DRM(calloc)(1, sizeof(drm_sis_private_t),
+               dev->dev_private = drm_calloc(1, sizeof(drm_sis_private_t),
                    DRM_MEM_DRIVER);
                dev_priv = dev->dev_private;
                if (dev_priv == NULL)
@@ -247,7 +257,7 @@ int sis_ioctl_agp_init( DRM_IOCTL_ARGS )
        drm_sis_agp_t agp;
 
        if (dev_priv == NULL) {
-               dev->dev_private = DRM(calloc)(1, sizeof(drm_sis_private_t),
+               dev->dev_private = drm_calloc(1, sizeof(drm_sis_private_t),
                    DRM_MEM_DRIVER);
                dev_priv = dev->dev_private;
                if (dev_priv == NULL)
@@ -404,10 +414,3 @@ int sis_final_context(struct drm_device *dev, int context)
        
        return 1;
 }
-
-void DRM(driver_register_fns)(drm_device_t *dev)
-{
-       dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR;
-       dev->fn_tbl.context_ctor = sis_init_context;
-       dev->fn_tbl.context_dtor = sis_final_context;
-}