The get_module_symbol and put_module_symbol functions do not work when
the kernel is compiled with CONFIG_MODVERSIONS.  They are a third
mechanism for modules to pass data to each other, the other two are
exported symbols which are resolved at insmod time or via registration

Because xxx_module_symbol does not work with CONFIG_MODVERSIONS, is
only used by two areas of code (MTD and DRM/AGP) and because Linus
thinks there are no good uses for get_module_symbol[*], this patch
replaces xxx_module_symbol with inter_module registration routines.


These routines should only be used for small amounts of data between
two objects.  If you need to pass data between more than two objects
then you should seriously think about coding specific registration
functions for those objects instead of overloading generic functions.
The only reason these functions exist is to avoid bloating the kernel
with individual registration functions just for a couple of objects.

The patch hits module.[ch], I already had several outstanding bug fixes
and IA64 module support in my tree, waiting for the code freeze to be
lifted.  Since module.[ch] was being hit anyway, I flushed most of my
patch list as part of this patch, these changes are already working in
the IA64 port.

The patch is 66K unzipped, 14K zipped, a bit too big for l-k.  Get it
from  It
fits 2.4.0-test10 with some offsets, although I have not tested the
patch on 2.4.0-test10.  MTD says it looks OK, no response from DRM/AGP
after a week, my testing shows it appears to work on DRM/AGP.

Any comments before it goes to Linus?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at

Reply via email to