diff options
Diffstat (limited to 'include/linux/module.h')
| -rw-r--r-- | include/linux/module.h | 73 | 
1 files changed, 1 insertions, 72 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 863921637d9..3cb7839a60b 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -16,6 +16,7 @@  #include <linux/kobject.h>  #include <linux/moduleparam.h>  #include <linux/tracepoint.h> +#include <linux/export.h>  #include <linux/percpu.h>  #include <asm/module.h> @@ -25,21 +26,8 @@  /* Not Yet Implemented */  #define MODULE_SUPPORTED_DEVICE(name) -/* Some toolchains use a `_' prefix for all user symbols. */ -#ifdef CONFIG_SYMBOL_PREFIX -#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX -#else -#define MODULE_SYMBOL_PREFIX "" -#endif -  #define MODULE_NAME_LEN MAX_PARAM_PREFIX_LEN -struct kernel_symbol -{ -	unsigned long value; -	const char *name; -}; -  struct modversion_info  {  	unsigned long crc; @@ -98,11 +86,8 @@ void trim_init_extable(struct module *m);  extern const struct gtype##_id __mod_##gtype##_table		\    __attribute__ ((unused, alias(__stringify(name)))) -extern struct module __this_module; -#define THIS_MODULE (&__this_module)  #else  /* !MODULE */  #define MODULE_GENERIC_TABLE(gtype,name) -#define THIS_MODULE ((struct module *)0)  #endif  /* Generic info of form tag = "info" */ @@ -150,11 +135,6 @@ extern struct module __this_module;  /* What your module does. */  #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) -/* One for each parameter, describing how to use it.  Some files do -   multiple of these per line, so can't just use MODULE_INFO. */ -#define MODULE_PARM_DESC(_parm, desc) \ -	__MODULE_INFO(parm, _parm, #_parm ":" desc) -  #define MODULE_DEVICE_TABLE(type,name)		\    MODULE_GENERIC_TABLE(type##_device,name) @@ -218,52 +198,6 @@ struct module_use {  	struct module *source, *target;  }; -#ifndef __GENKSYMS__ -#ifdef CONFIG_MODVERSIONS -/* Mark the CRC weak since genksyms apparently decides not to - * generate a checksums for some symbols */ -#define __CRC_SYMBOL(sym, sec)					\ -	extern void *__crc_##sym __attribute__((weak));		\ -	static const unsigned long __kcrctab_##sym		\ -	__used							\ -	__attribute__((section("___kcrctab" sec "+" #sym), unused))	\ -	= (unsigned long) &__crc_##sym; -#else -#define __CRC_SYMBOL(sym, sec) -#endif - -/* For every exported symbol, place a struct in the __ksymtab section */ -#define __EXPORT_SYMBOL(sym, sec)				\ -	extern typeof(sym) sym;					\ -	__CRC_SYMBOL(sym, sec)					\ -	static const char __kstrtab_##sym[]			\ -	__attribute__((section("__ksymtab_strings"), aligned(1))) \ -	= MODULE_SYMBOL_PREFIX #sym;                    	\ -	static const struct kernel_symbol __ksymtab_##sym	\ -	__used							\ -	__attribute__((section("___ksymtab" sec "+" #sym), unused))	\ -	= { (unsigned long)&sym, __kstrtab_##sym } - -#define EXPORT_SYMBOL(sym)					\ -	__EXPORT_SYMBOL(sym, "") - -#define EXPORT_SYMBOL_GPL(sym)					\ -	__EXPORT_SYMBOL(sym, "_gpl") - -#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 -  enum module_state  {  	MODULE_STATE_LIVE, @@ -581,11 +515,6 @@ int unregister_module_notifier(struct notifier_block * nb);  extern void print_modules(void);  #else /* !CONFIG_MODULES... */ -#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 *  |