diff options
Diffstat (limited to 'arch/um/include/init.h')
-rw-r--r-- | arch/um/include/init.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/um/include/init.h b/arch/um/include/init.h index 55c2693f8778..cbd79a8d213d 100644 --- a/arch/um/include/init.h +++ b/arch/um/include/init.h | |||
@@ -111,7 +111,15 @@ extern struct uml_param __uml_setup_start, __uml_setup_end; | |||
111 | 111 | ||
112 | #ifndef __KERNEL__ | 112 | #ifndef __KERNEL__ |
113 | 113 | ||
114 | #define __initcall(fn) static initcall_t __initcall_##fn __init_call = fn | 114 | #define __define_initcall(level,fn) \ |
115 | static initcall_t __initcall_##fn __attribute_used__ \ | ||
116 | __attribute__((__section__(".initcall" level ".init"))) = fn | ||
117 | |||
118 | /* Userspace initcalls shouldn't depend on anything in the kernel, so we'll | ||
119 | * make them run first. | ||
120 | */ | ||
121 | #define __initcall(fn) __define_initcall("1", fn) | ||
122 | |||
115 | #define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn | 123 | #define __exitcall(fn) static exitcall_t __exitcall_##fn __exit_call = fn |
116 | 124 | ||
117 | #define __init_call __attribute__ ((unused,__section__ (".initcall.init"))) | 125 | #define __init_call __attribute__ ((unused,__section__ (".initcall.init"))) |