diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-10-03 13:28:46 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-03 13:28:46 -0400 |
commit | f68ec0c24755e5cdb779be6240925f2175311d84 (patch) | |
tree | a7b7128e61a8456385d82bd1c7ca5f14eecbf2ca /include/linux/init.h | |
parent | 98920dc3d1113b883cbc73e3293446d3525c6042 (diff) | |
parent | 94aca1dac6f6d21f4b07e4864baf7768cabcc6e7 (diff) |
Merge commit 'v2.6.27-rc8' into x86/setup
Diffstat (limited to 'include/linux/init.h')
-rw-r--r-- | include/linux/init.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/linux/init.h b/include/linux/init.h index 21d658cdfa27..93538b696e3d 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -139,6 +139,7 @@ extern initcall_t __con_initcall_start[], __con_initcall_end[]; | |||
139 | extern initcall_t __security_initcall_start[], __security_initcall_end[]; | 139 | extern initcall_t __security_initcall_start[], __security_initcall_end[]; |
140 | 140 | ||
141 | /* Defined in init/main.c */ | 141 | /* Defined in init/main.c */ |
142 | extern int do_one_initcall(initcall_t fn); | ||
142 | extern char __initdata boot_command_line[]; | 143 | extern char __initdata boot_command_line[]; |
143 | extern char *saved_command_line; | 144 | extern char *saved_command_line; |
144 | extern unsigned int reset_devices; | 145 | extern unsigned int reset_devices; |
@@ -170,6 +171,13 @@ extern void (*late_time_init)(void); | |||
170 | __attribute__((__section__(".initcall" level ".init"))) = fn | 171 | __attribute__((__section__(".initcall" level ".init"))) = fn |
171 | 172 | ||
172 | /* | 173 | /* |
174 | * Early initcalls run before initializing SMP. | ||
175 | * | ||
176 | * Only for built-in code, not modules. | ||
177 | */ | ||
178 | #define early_initcall(fn) __define_initcall("early",fn,early) | ||
179 | |||
180 | /* | ||
173 | * A "pure" initcall has no dependencies on anything else, and purely | 181 | * A "pure" initcall has no dependencies on anything else, and purely |
174 | * initializes variables that couldn't be statically initialized. | 182 | * initializes variables that couldn't be statically initialized. |
175 | * | 183 | * |
@@ -275,13 +283,7 @@ void __init parse_early_param(void); | |||
275 | 283 | ||
276 | #define security_initcall(fn) module_init(fn) | 284 | #define security_initcall(fn) module_init(fn) |
277 | 285 | ||
278 | /* These macros create a dummy inline: gcc 2.9x does not count alias | 286 | /* Each module must use one module_init(). */ |
279 | as usage, hence the `unused function' warning when __init functions | ||
280 | are declared static. We use the dummy __*_module_inline functions | ||
281 | both to kill the warning and check the type of the init/cleanup | ||
282 | function. */ | ||
283 | |||
284 | /* Each module must use one module_init(), or one no_module_init */ | ||
285 | #define module_init(initfn) \ | 287 | #define module_init(initfn) \ |
286 | static inline initcall_t __inittest(void) \ | 288 | static inline initcall_t __inittest(void) \ |
287 | { return initfn; } \ | 289 | { return initfn; } \ |