To compile 100.14.09 on 2.6.23.x kernel, I made the following changes:
1. kmem_cache_create() in nv-linux.h would be one parameter less for 2.6.23.x, take away one NULL at the end such that
#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
kmem_cache = kmem_cache_create(name, sizeof(type), \
0, 0, NULL); \
2. The 2 references to unregister_chrdev() in nv.c would return void in 2.6.23.x.
Just take away the return code check and error message right after.
ok, i need something more.. obviously i'm not so much into programming..
1: I've built a 18.104.22.168 kernel . Following guides they suggest to add nvidia-kernel-sources from my distro package manager but the version shipped with ubuntu is 100.14.19 so quite useless for me. I want to build 100.14.09.
2. I succeded in installing 100.14.19 and 100.14.23 without compiling any nvidia-kernel-sources, everything i nedded i suppose was made up by package. So why do i need that package if drivers compile the same?
3. If i want to modify source like you.. which files do i have to edit? (i just found in /usr/src/modules that are the ones i downloaded through ubuntu and i dont think they're gonna be useful for anything)
AND: the second edit means i have to substitute the value of unregister_chrdev from (nv_major, "nvidia") to (void) or else?
please i can't tolerate anymore these freezes...
i just needed to read a bit.
for the others: to find the source run the NVIDIA-Linux-x86-100.14.09-pkg#.run with the --extract-only option.
and about the third question... just delete (or comment with // before every line) the 2 lines where it appears unregister_chrdev and the line right after.