Sorry for the typo, MODULE_VERSION should be read as MODULE_LICENSE. Thanks, ~amit
On Fri, Dec 5, 2008 at 6:03 PM, amit mehta <[EMAIL PROTECTED]> wrote: > Hi, > > How does EXPORT_SYMBOL work ? > All i know is that its a way by which a kernel module can export symbols to > other kernel modules. > Just to get more information on it, i looked for its definition(in > linux/module.h) and found that > its defined as: > #define EXPORT_SYMBOL(sym) \ > __EXPORT_SYMBOL(sym, "") > > where, > #define __EXPORT_SYMBOL(sym, sec) \ > extern typeof(sym) sym; \ > __CRC_SYMBOL(sym, sec) \ > static const char __kstrtab_##sym[] \ > __attribute__((section("__ksymtab_strings"))) \ > = MODULE_SYMBOL_PREFIX #sym; \ > static const struct kernel_symbol __ksymtab_##sym \ > __attribute_used__ \ > __attribute__((section("__ksymtab" sec), unused)) \ > = { (unsigned long)&sym, __kstrtab_##sym } > > > please throw some light here for me to understand this complex > substitution, > Also, EXPORT_SYMBOL_GPL seems to be a way to letting the modules Only under > GPL License > (MODULE_VERSION("GPL")) to be able to use the exported symbols ? > > > Thanks, > ~amit > > -- > "Everyone has a photographic memory. Some people just don't have film." > > — Mel Brooks > -- "Everyone has a photographic memory. Some people just don't have film." — Mel Brooks