aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/init.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-10-03 13:28:46 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-03 13:28:46 -0400
commitf68ec0c24755e5cdb779be6240925f2175311d84 (patch)
treea7b7128e61a8456385d82bd1c7ca5f14eecbf2ca /include/linux/init.h
parent98920dc3d1113b883cbc73e3293446d3525c6042 (diff)
parent94aca1dac6f6d21f4b07e4864baf7768cabcc6e7 (diff)
Merge commit 'v2.6.27-rc8' into x86/setup
Diffstat (limited to 'include/linux/init.h')
-rw-r--r--include/linux/init.h16
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[];
139extern initcall_t __security_initcall_start[], __security_initcall_end[]; 139extern initcall_t __security_initcall_start[], __security_initcall_end[];
140 140
141/* Defined in init/main.c */ 141/* Defined in init/main.c */
142extern int do_one_initcall(initcall_t fn);
142extern char __initdata boot_command_line[]; 143extern char __initdata boot_command_line[];
143extern char *saved_command_line; 144extern char *saved_command_line;
144extern unsigned int reset_devices; 145extern 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; } \