hi!
i'm using mm-sources (2.6.12-rc3-mm3) and i tried your patch cause it's not working from the documentation (nvidia for gentoo). so. this is what i get after emerging nvidia-kernel, glx:
...
.../nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/
nv.c
In file included from include/linux/list.h:7,
from include/linux/wait.h:23,
from include/asm/semaphore.h:41,
from include/linux/sched.h:20,
from include/linux/module.h:10,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv-linux.h:52,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv.c:14:
include/linux/prefetch.h: In function `prefetch_range':
include/linux/prefetch.h:62: warning: pointer of type `void *' used in arithmeti
c
In file included from include/linux/dmapool.h:14,
from include/linux/pci.h:868,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv-linux.h:75,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv.c:14:
include/asm/io.h: In function `check_signature':
include/asm/io.h:253: warning: wrong type argument to increment
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/nv.c: In function `_get_phys_address':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/nv.c

warning: passing arg 1 of `pmd_offset' from incompatible po
inter type
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/nv.c: In function `nv_agp_init':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/nv.c

warning: implicit declaration of function `inter_module_get
'
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/nv.c

warning: `inter_module_put' is deprecated (declared at incl
ude/linux/module.h:568)
cc -Wp,-MD,/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.
0-6111-pkg1/usr/src/nv/.os-agp.o.d -nostdinc -isystem /usr/lib/gcc-lib/i686-pc-l
inux-gnu/3.3.5-20050130/include -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/lin
ux-2.6.12-rc3-mm3/include -I/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVI
DIA-Linux-x86-1.0-6111-pkg1/usr/src/nv -Wall -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -
msoft-float -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/linux-2.6.12-rc3
-mm3/include/asm-i386/mach-default -Iinclude/asm-i386/mach-default -I/var/tmp/p
ortage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv
-Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses
-Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD -Wno-cast-qual -Wno-e
rror -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNTRM -D_GNU_SOURCE -D_LOOSE_K
ERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV
_PATCHLEVEL=6111 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -UDEBUG -U_DEBUG
-DNDEBUG -DREMAP_PFN_RANGE -DNV_CHANGE_PAGE_ATTR_PRESENT -DHAVE_PCI_GET_CLASS -
DMODULE -DKBUILD_BASENAME=os_agp -DKBUILD_MODNAME=nvidia -c -o /var/tmp/portage/
nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/os-agp.
o /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1
/usr/src/nv/os-agp.c
In file included from include/linux/list.h:7,
from include/linux/wait.h:23,
from include/asm/semaphore.h:41,
from include/linux/sched.h:20,
from include/linux/module.h:10,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv-linux.h:52,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/os-agp.c:24:
include/linux/prefetch.h: In function `prefetch_range':
include/linux/prefetch.h:62: warning: pointer of type `void *' used in arithmeti
c
In file included from include/linux/dmapool.h:14,
from include/linux/pci.h:868,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/nv-linux.h:75,
from /var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv/os-agp.c:24:
include/asm/io.h: In function `check_signature':
include/asm/io.h:253: warning: wrong type argument to increment
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: At top level:
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:48: error: syntax error before '*' token
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:48: warning: type defaults to `int' in declaration of `drm_ag
p_p'
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:48: warning: data definition has no type or storage class
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: In function `KernInitAGP':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:76: warning: assignment discards qualifiers from pointer targ
et type
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:85: error: request for member `acquire' in something not a st
ructure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:88: warning: `inter_module_put' is deprecated (declared at in
clude/linux/module.h:568)
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:113: error: request for member `copy_info' in something not a
structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:173: error: request for member `enable' in something not a st
ructure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:185: error: request for member `release' in something not a s
tructure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:186: warning: `inter_module_put' is deprecated (declared at i
nclude/linux/module.h:568)
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: In function `KernTeardownAGP':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:216: error: request for member `release' in something not a s
tructure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:218: warning: `inter_module_put' is deprecated (declared at i
nclude/linux/module.h:568)
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: In function `KernAllocAGPPages':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:265: error: request for member `allocate_memory' in something
not a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:273: error: request for member `bind_memory' in something not
a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:290: error: request for member `unbind_memory' in something n
ot a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:305: error: request for member `free_memory' in something not
a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: In function `KernMapAGPPages':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:345: error: request for member `unbind_memory' in something n
ot a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c: In function `KernFreeAGPPages':
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:444: error: request for member `unbind_memory' in something n
ot a structure or union
/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1.0-6111-pkg1/u
sr/src/nv/os-agp.c:445: error: request for member `free_memory' in something not
a structure or union
make[4]: *** [/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Linux-x86-1
.0-6111-pkg1/usr/src/nv/os-agp.o] Error 1
make[3]: *** [_module_/var/tmp/portage/nvidia-kernel-1.0.6111-r3/work/NVIDIA-Lin
ux-x86-1.0-6111-pkg1/usr/src/nv] Error 2
make[2]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
!!! ERROR: media-video/nvidia-kernel-1.0.6111-r3 failed.
!!! Function linux-mod_src_compile, Line 473, Exitcode 2
!!! Unable to make IGNORE_CC_MISMATCH=yes V=1 S
YSSRC=/usr/src/linux SYSOUT=/usr/src/linux clean module
any idea?