I have no idea where I should be submitting patches to code for, but I 
managed to get DRM working under 2.5.15 with my radeon.  I've attached 
the patch to this message (I saw someone else do it first), if I'm 
putting this in the wrong place, please correct me!

Not much to it really!  Just renamed some things.

Micah
diff -urN drm/drmP.h drmnew/drmP.h
--- drm/drmP.h  Sat May 11 23:53:47 2002
+++ drmnew/drmP.h       Sun May 12 23:07:03 2002
@@ -53,6 +53,7 @@
 #include <linux/sched.h>
 #include <linux/smp_lock.h>    /* For (un)lock_kernel */
 #include <linux/mm.h>
+#include <linux/highmem.h>     /* Micah Added to fix KM_PTE0 compile error */
 #if defined(__alpha__) || defined(__powerpc__)
 #include <asm/pgtable.h> /* For pte_wrprotect */
 #endif
diff -urN drm/drm_drv.h drmnew/drm_drv.h
--- drm/drm_drv.h       Sat May 11 23:53:47 2002
+++ drmnew/drm_drv.h    Sun May 12 22:32:13 2002
@@ -705,7 +705,7 @@
        int i;
 
        for (i = 0; i < DRM(numdevs); i++) {
-               if (MINOR(inode->i_rdev) == DRM(minor)[i]) {
+               if (minor(inode->i_rdev) == DRM(minor)[i]) {
                        dev = &(DRM(device)[i]);
                        break;
                }
diff -urN drm/drm_fops.h drmnew/drm_fops.h
--- drm/drm_fops.h      Sat May 11 23:53:47 2002
+++ drmnew/drm_fops.h   Sun May 12 22:45:15 2002
@@ -38,7 +38,7 @@
 
 int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev)
 {
-       kdev_t       minor = MINOR(inode->i_rdev);
+       int          minor = minor(inode->i_rdev);
        drm_file_t   *priv;
 
        if (filp->f_flags & O_EXCL)   return -EBUSY; /* No exclusive opens */
diff -urN drm/drm_scatter.h drmnew/drm_scatter.h
--- drm/drm_scatter.h   Sat May 11 23:53:47 2002
+++ drmnew/drm_scatter.h        Sun May 12 22:46:31 2002
@@ -145,7 +145,7 @@
                if ( !pmd_present( *pmd ) )
                        goto failed;
 
-               pte = pte_offset( pmd, i );
+               pte = pte_offset_map( pmd, i );
                if ( !pte_present( *pte ) )
                        goto failed;
 
diff -urN drm/drm_stub.h drmnew/drm_stub.h
--- drm/drm_stub.h      Sat May 11 23:53:47 2002
+++ drmnew/drm_stub.h   Sun May 12 22:36:50 2002
@@ -49,7 +49,7 @@
 
 static int DRM(stub_open)(struct inode *inode, struct file *filp)
 {
-       int                    minor = MINOR(inode->i_rdev);
+       int                    minor = minor(inode->i_rdev);
        int                    err   = -ENODEV;
        struct file_operations *old_fops;
 
diff -urN drm/drm_vm.h drmnew/drm_vm.h
--- drm/drm_vm.h        Sat May 11 23:53:47 2002
+++ drmnew/drm_vm.h     Sun May 12 22:46:12 2002
@@ -147,7 +147,7 @@
        if( !pgd_present( *pgd ) ) return NOPAGE_OOM;
        pmd = pmd_offset( pgd, i );
        if( !pmd_present( *pmd ) ) return NOPAGE_OOM;
-       pte = pte_offset( pmd, i );
+       pte = pte_offset_map( pmd, i );
        if( !pte_present( *pte ) ) return NOPAGE_OOM;
 
        page = pte_page(*pte);
@@ -462,12 +462,12 @@
                }
                offset = DRIVER_GET_REG_OFS();
 #ifdef __sparc__
-               if (io_remap_page_range(vma->vm_start,
+               if (io_remap_page_range(vma, vma->vm_start,
                                        VM_OFFSET(vma) + offset,
                                        vma->vm_end - vma->vm_start,
                                        vma->vm_page_prot, 0))
 #else
-               if (remap_page_range(vma->vm_start,
+               if (remap_page_range(vma, vma->vm_start,
                                     VM_OFFSET(vma) + offset,
                                     vma->vm_end - vma->vm_start,
                                     vma->vm_page_prot))

Reply via email to