diff options
Diffstat (limited to 'include/linux/init.h')
| -rw-r--r-- | include/linux/init.h | 63 | 
1 files changed, 20 insertions, 43 deletions
diff --git a/include/linux/init.h b/include/linux/init.h index e59041e21df..861814710d5 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -93,14 +93,6 @@  #define __exit          __section(.exit.text) __exitused __cold notrace -/* Used for HOTPLUG */ -#define __devinit        __section(.devinit.text) __cold notrace -#define __devinitdata    __section(.devinit.data) -#define __devinitconst   __constsection(.devinit.rodata) -#define __devexit        __section(.devexit.text) __exitused __cold notrace -#define __devexitdata    __section(.devexit.data) -#define __devexitconst   __constsection(.devexit.rodata) -  /* Used for HOTPLUG_CPU */  #define __cpuinit        __section(.cpuinit.text) __cold notrace  #define __cpuinitdata    __section(.cpuinit.data) @@ -126,10 +118,6 @@  #define __INITRODATA	.section	".init.rodata","a",%progbits  #define __FINITDATA	.previous -#define __DEVINIT        .section	".devinit.text", "ax" -#define __DEVINITDATA    .section	".devinit.data", "aw" -#define __DEVINITRODATA  .section	".devinit.rodata", "a" -  #define __CPUINIT        .section	".cpuinit.text", "ax"  #define __CPUINITDATA    .section	".cpuinit.data", "aw"  #define __CPUINITRODATA  .section	".cpuinit.rodata", "a" @@ -165,6 +153,7 @@ extern unsigned int reset_devices;  /* used by init/main.c */  void setup_arch(char **);  void prepare_namespace(void); +void __init load_default_modules(void);  extern void (*late_time_init)(void); @@ -186,16 +175,16 @@ extern bool initcall_debug;   * can point at the same handler without causing duplicate-symbol build errors.   */ -#define __define_initcall(level,fn,id) \ +#define __define_initcall(fn, id) \  	static initcall_t __initcall_##fn##id __used \ -	__attribute__((__section__(".initcall" level ".init"))) = fn +	__attribute__((__section__(".initcall" #id ".init"))) = fn  /*   * Early initcalls run before initializing SMP.   *   * Only for built-in code, not modules.   */ -#define early_initcall(fn)		__define_initcall("early",fn,early) +#define early_initcall(fn)		__define_initcall(fn, early)  /*   * A "pure" initcall has no dependencies on anything else, and purely @@ -204,23 +193,23 @@ extern bool initcall_debug;   * This only exists for built-in code, not for modules.   * Keep main.c:initcall_level_names[] in sync.   */ -#define pure_initcall(fn)		__define_initcall("0",fn,0) +#define pure_initcall(fn)		__define_initcall(fn, 0) -#define core_initcall(fn)		__define_initcall("1",fn,1) -#define core_initcall_sync(fn)		__define_initcall("1s",fn,1s) -#define postcore_initcall(fn)		__define_initcall("2",fn,2) -#define postcore_initcall_sync(fn)	__define_initcall("2s",fn,2s) -#define arch_initcall(fn)		__define_initcall("3",fn,3) -#define arch_initcall_sync(fn)		__define_initcall("3s",fn,3s) -#define subsys_initcall(fn)		__define_initcall("4",fn,4) -#define subsys_initcall_sync(fn)	__define_initcall("4s",fn,4s) -#define fs_initcall(fn)			__define_initcall("5",fn,5) -#define fs_initcall_sync(fn)		__define_initcall("5s",fn,5s) -#define rootfs_initcall(fn)		__define_initcall("rootfs",fn,rootfs) -#define device_initcall(fn)		__define_initcall("6",fn,6) -#define device_initcall_sync(fn)	__define_initcall("6s",fn,6s) -#define late_initcall(fn)		__define_initcall("7",fn,7) -#define late_initcall_sync(fn)		__define_initcall("7s",fn,7s) +#define core_initcall(fn)		__define_initcall(fn, 1) +#define core_initcall_sync(fn)		__define_initcall(fn, 1s) +#define postcore_initcall(fn)		__define_initcall(fn, 2) +#define postcore_initcall_sync(fn)	__define_initcall(fn, 2s) +#define arch_initcall(fn)		__define_initcall(fn, 3) +#define arch_initcall_sync(fn)		__define_initcall(fn, 3s) +#define subsys_initcall(fn)		__define_initcall(fn, 4) +#define subsys_initcall_sync(fn)	__define_initcall(fn, 4s) +#define fs_initcall(fn)			__define_initcall(fn, 5) +#define fs_initcall_sync(fn)		__define_initcall(fn, 5s) +#define rootfs_initcall(fn)		__define_initcall(fn, rootfs) +#define device_initcall(fn)		__define_initcall(fn, 6) +#define device_initcall_sync(fn)	__define_initcall(fn, 6s) +#define late_initcall(fn)		__define_initcall(fn, 7) +#define late_initcall_sync(fn)		__define_initcall(fn, 7s)  #define __initcall(fn) device_initcall(fn) @@ -341,18 +330,6 @@ void __init parse_early_options(char *cmdline);  #define __INITRODATA_OR_MODULE __INITRODATA  #endif /*CONFIG_MODULES*/ -/* Functions marked as __devexit may be discarded at kernel link time, depending -   on config options.  Newer versions of binutils detect references from -   retained sections to discarded sections and flag an error.  Pointers to -   __devexit functions must use __devexit_p(function_name), the wrapper will -   insert either the function_name or NULL, depending on the config options. - */ -#if defined(MODULE) || defined(CONFIG_HOTPLUG) -#define __devexit_p(x) x -#else -#define __devexit_p(x) NULL -#endif -  #ifdef MODULE  #define __exit_p(x) x  #else  |