diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/vmlinux.lds.h | 2 | ||||
-rw-r--r-- | include/linux/init.h | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 9d873163a7ab..e60d6f21fa62 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
@@ -215,6 +215,8 @@ | |||
215 | .notes : { *(.note.*) } :note | 215 | .notes : { *(.note.*) } :note |
216 | 216 | ||
217 | #define INITCALLS \ | 217 | #define INITCALLS \ |
218 | *(.initcall0.init) \ | ||
219 | *(.initcall0s.init) \ | ||
218 | *(.initcall1.init) \ | 220 | *(.initcall1.init) \ |
219 | *(.initcall1s.init) \ | 221 | *(.initcall1s.init) \ |
220 | *(.initcall2.init) \ | 222 | *(.initcall2.init) \ |
diff --git a/include/linux/init.h b/include/linux/init.h index ff40ea118e3a..5eb5d24b7680 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -93,6 +93,14 @@ extern void setup_arch(char **); | |||
93 | static initcall_t __initcall_##fn##id __attribute_used__ \ | 93 | static initcall_t __initcall_##fn##id __attribute_used__ \ |
94 | __attribute__((__section__(".initcall" level ".init"))) = fn | 94 | __attribute__((__section__(".initcall" level ".init"))) = fn |
95 | 95 | ||
96 | /* | ||
97 | * A "pure" initcall has no dependencies on anything else, and purely | ||
98 | * initializes variables that couldn't be statically initialized. | ||
99 | * | ||
100 | * This only exists for built-in code, not for modules. | ||
101 | */ | ||
102 | #define pure_initcall(fn) __define_initcall("0",fn,1) | ||
103 | |||
96 | #define core_initcall(fn) __define_initcall("1",fn,1) | 104 | #define core_initcall(fn) __define_initcall("1",fn,1) |
97 | #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) | 105 | #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) |
98 | #define postcore_initcall(fn) __define_initcall("2",fn,2) | 106 | #define postcore_initcall(fn) __define_initcall("2",fn,2) |