1) i have got the following compiler error messages while compiling the nvidia module:
/usr/src/modules/nvidia-kernel/nv/nv.c:1849: error: ‘SA_INTERRUPT’ undeclared
/usr/src/modules/nvidia-kernel/nv/nv.c:1849: error: ‘SA_SHIRQ’ undeclared
this errors are forced by the removal of the migration helpers in "include/linux/interrupt.h":
* Migration helpers. Scheduled for removal in 1/2007
* Do not use for new code !
this problem can be solved easily:
Originally Posted by diff nc.old nc.new
< SA_INTERRUPT | SA_SHIRQ, "nvidia",
> IRQF_DISABLED | IRQF_SHARED, "nvidia",
2) license issue:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'pagefault_disable'
I guess this is the reason, why this error didn't come up with 2.6.20-rc5:
Originally Posted by http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.20-rc6
[MTD] Use EXPORT_SYMBOL_GPL() for exported symbols.
While we're fixing up the newly-added symbol, change the neighbouring ones
too, for consistency and also to reflect the author's interpretation of
the GPL -- which is that _no_ non-GPL modules are permitted. The author
always intended his code to be released under the GPL, and believes that
any new interpretation of 'EXPORT_SYMBOL' as being any different from
'EXPORT_SYMBOL_GPL' is entirely invalid; the GPL requires that _all_
exports have the semantics of the new 'EXPORT_SYMBOL_GPL', which means the
extra four characters are entirely redundant.
But since those four extra characters trigger the check for illegal
modules in a way that just EXPORT_SYMBOL does not, it's useful to change
anyway. This action in no way indicates an admission that there is any
legal distinction between the two states, and in particular does not
indicate that the author believes that non-GPL modules may use symbols
exported with EXPORT_SYMBOL alone.