About the 3c2000 driver, use the sk98 driver under the 2.6.x series.
Should you grab one of the linux 2.6.1 releases and want to use the alsa-driver from source (1.0.0rc2) instead of the kernel version , then you will need a patch for alsa. It's attached. (It worked for me this way :) using 2.6.1-rc2 now with alsa 1.0.0rc2)
Lemme guess, you got an asus P4C800 ? :)
Kind regards, Alexander Maassen <outsider@key2peace.org>
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 { \