I had several issues getting alsa to compile and to load correctly, after some debugging and lots of coffee I've been able to fix those.
Included is a unified diff so you all can enjoy the work in case you have the same error.


Kind regards,
Alexander Maassen
diff -burd alsa-driver-1.0.0rc2/acore/memory_wrapper.c 
alsa-driver-1.0.0rc2.new/acore/memory_wrapper.c
--- alsa-driver-1.0.0rc2/acore/memory_wrapper.c 2003-11-10 18:32:37.000000000 +0100
+++ alsa-driver-1.0.0rc2.new/acore/memory_wrapper.c     2004-01-07 20:00:10.000000000 
+0100
@@ -21,6 +21,10 @@
 #endif
 #endif
 
+#ifndef VMALLOC_VMADDR
+#define VMALLOC_VMADDR(x) ((unsigned long)(x))
+#endif
+
 /* vmalloc_to_page wrapper */
 #ifndef CONFIG_HAVE_VMALLOC_TO_PAGE
 #include <linux/highmem.h>
@@ -38,7 +42,11 @@
 #endif
        pgd = pgd_offset(&init_mm, lpage);
        pmd = pmd_offset(pgd, lpage);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
+       pte = pte_offset_kernel(pmd, lpage);
+#else
        pte = pte_offset(pmd, lpage);
+#endif
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
        page = virt_to_page(pte_page(*pte));
 #else
 
diff -burd alsa-driver-1.0.0rc2/acore/sgbuf.c alsa-driver-1.0.0rc2.new/acore/sgbuf.c
--- alsa-driver-1.0.0rc2/acore/sgbuf.c  2003-11-10 18:32:37.000000000 +0100
+++ alsa-driver-1.0.0rc2.new/acore/sgbuf.c      2004-01-07 20:01:00.000000000 +0100
@@ -44,7 +44,11 @@
        lpage = VMALLOC_VMADDR(pageptr);
        pgd = pgd_offset_k(lpage);
        pmd = pmd_offset(pgd, lpage);
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
+       pte = pte_offset_kernel(pmd, lpage);
+#else
        pte = pte_offset(pmd, lpage);
+#endif
        return (void *)pte_page(*pte);
 }    
 #endif
 
diff -burd alsa-driver-1.0.0rc2/include/adriver.h 
alsa-driver-1.0.0rc2.new/include/adriver.h
--- alsa-driver-1.0.0rc2/include/adriver.h      2003-11-20 14:23:27.000000000 +0100
+++ alsa-driver-1.0.0rc2.new/include/adriver.h  2004-01-07 19:04:43.000000000 +0100
@@ -128,6 +128,7 @@
 #define need_resched() (current->need_resched)
 #endif
 #ifndef CONFIG_HAVE_PDE
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 1)
 #include <linux/fs.h>
 #include <linux/proc_fs.h>
 static inline struct proc_dir_entry *PDE(const struct inode *inode)
@@ -135,6 +136,7 @@
        return (struct proc_dir_entry *) inode->u.generic_ip;
 }
 #endif
+#endif
 #ifndef cond_resched
 #define cond_resched() \
        do { \

Reply via email to