Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / include / linux / module.h
index c458418..b9b98bb 100644 (file)
@@ -6,6 +6,7 @@
  * Rewritten by Richard Henderson <rth@tamu.edu> Dec 1996
  * Rewritten again by Rusty Russell, 2002
  */
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/spinlock.h>
 #include <linux/list.h>
@@ -105,8 +106,6 @@ extern struct module __this_module;
  *     "GPL and additional rights"     [GNU Public License v2 rights and more]
  *     "Dual BSD/GPL"                  [GNU Public License v2
  *                                      or BSD license choice]
- *     "Dual MIT/GPL"                  [GNU Public License v2
- *                                      or MIT license choice]
  *     "Dual MPL/GPL"                  [GNU Public License v2
  *                                      or Mozilla license choice]
  *
@@ -203,15 +202,6 @@ void *__symbol_get_gpl(const char *symbol);
 #define EXPORT_SYMBOL_GPL_FUTURE(sym)                          \
        __EXPORT_SYMBOL(sym, "_gpl_future")
 
-
-#ifdef CONFIG_UNUSED_SYMBOLS
-#define EXPORT_UNUSED_SYMBOL(sym) __EXPORT_SYMBOL(sym, "_unused")
-#define EXPORT_UNUSED_SYMBOL_GPL(sym) __EXPORT_SYMBOL(sym, "_unused_gpl")
-#else
-#define EXPORT_UNUSED_SYMBOL(sym)
-#define EXPORT_UNUSED_SYMBOL_GPL(sym)
-#endif
-
 #endif
 
 struct module_ref
@@ -270,15 +260,6 @@ struct module
        unsigned int num_gpl_syms;
        const unsigned long *gpl_crcs;
 
-       /* unused exported symbols. */
-       const struct kernel_symbol *unused_syms;
-       unsigned int num_unused_syms;
-       const unsigned long *unused_crcs;
-       /* GPL-only, unused exported symbols. */
-       const struct kernel_symbol *unused_gpl_syms;
-       unsigned int num_unused_gpl_syms;
-       const unsigned long *unused_gpl_crcs;
-
        /* symbols that will be GPL-only in the near future. */
        const struct kernel_symbol *gpl_future_syms;
        unsigned int num_gpl_future_syms;
@@ -303,9 +284,6 @@ struct module
        /* The size of the executable code in each section.  */
        unsigned long init_text_size, core_text_size;
 
-       /* The handle returned from unwind_add_table. */
-       void *unwind_info;
-
        /* Arch-specific module values */
        struct mod_arch_specific arch;
 
@@ -361,12 +339,13 @@ static inline int module_is_live(struct module *mod)
 /* Is this address in a module? (second is with no locks, for oops) */
 struct module *module_text_address(unsigned long addr);
 struct module *__module_text_address(unsigned long addr);
-int is_module_address(unsigned long addr);
 
 /* Returns module and fills in value, defined and namebuf, or NULL if
    symnum out of range. */
-struct module *module_get_kallsym(unsigned int symnum, unsigned long *value,
-                               char *type, char *name, size_t namelen);
+struct module *module_get_kallsym(unsigned int symnum,
+                                 unsigned long *value,
+                                 char *type,
+                                 char namebuf[128]);
 
 /* Look for this name: can be of form module:name. */
 unsigned long module_kallsyms_lookup_name(const char *name);
@@ -476,8 +455,6 @@ void module_remove_driver(struct device_driver *);
 #define EXPORT_SYMBOL(sym)
 #define EXPORT_SYMBOL_GPL(sym)
 #define EXPORT_SYMBOL_GPL_FUTURE(sym)
-#define EXPORT_UNUSED_SYMBOL(sym)
-#define EXPORT_UNUSED_SYMBOL_GPL(sym)
 
 /* Given an address, look for it in the exception tables. */
 static inline const struct exception_table_entry *
@@ -498,11 +475,6 @@ static inline struct module *__module_text_address(unsigned long addr)
        return NULL;
 }
 
-static inline int is_module_address(unsigned long addr)
-{
-       return 0;
-}
-
 /* Get/put a kernel symbol (calls should be symmetric) */
 #define symbol_get(x) ({ extern typeof(x) x __attribute__((weak)); &(x); })
 #define symbol_put(x) do { } while(0)
@@ -536,8 +508,8 @@ static inline const char *module_address_lookup(unsigned long addr,
 
 static inline struct module *module_get_kallsym(unsigned int symnum,
                                                unsigned long *value,
-                                               char *type, char *name,
-                                               size_t namelen)
+                                               char *type,
+                                               char namebuf[128])
 {
        return NULL;
 }
@@ -588,4 +560,13 @@ static inline void module_remove_driver(struct device_driver *driver)
 
 #define __MODULE_STRING(x) __stringify(x)
 
+/* Use symbol_get and symbol_put instead.  You'll thank me. */
+#define HAVE_INTER_MODULE
+extern void __deprecated inter_module_register(const char *,
+               struct module *, const void *);
+extern void __deprecated inter_module_unregister(const char *);
+extern const void * __deprecated inter_module_get_request(const char *,
+               const char *);
+extern void __deprecated inter_module_put(const char *);
+
 #endif /* _LINUX_MODULE_H */