diff options
Diffstat (limited to 'include/init.h')
-rw-r--r-- | include/init.h | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/include/init.h b/include/init.h index eb606f3ce3..8692b68d07 100644 --- a/include/init.h +++ b/include/init.h @@ -1,6 +1,12 @@ #ifndef _INIT_H #define _INIT_H +/* + * fake define to simplify the linux sync + */ +#define __init +#define __initdata + typedef int (*initcall_t)(void); #define __define_initcall(level,fn,id) \ @@ -8,13 +14,22 @@ typedef int (*initcall_t)(void); __attribute__((__section__(".initcall." level))) = fn -#define core_initcall(fn) __define_initcall("0",fn,0) -#define postcore_initcall(fn) __define_initcall("1",fn,1) -#define console_initcall(fn) __define_initcall("2",fn,2) -#define coredevice_initcall(fn) __define_initcall("4",fn,4) -#define fs_initcall(fn) __define_initcall("5",fn,5) -#define device_initcall(fn) __define_initcall("6",fn,6) -#define late_initcall(fn) __define_initcall("7",fn,7) +/* + * A "pure" initcall has no dependencies on anything else, and purely + * initializes variables that couldn't be statically initialized. + * + * This only exists for built-in code, not for modules. + */ +#define pure_initcall(fn) __define_initcall("0",fn,0) + +#define core_initcall(fn) __define_initcall("1",fn,1) +#define postcore_initcall(fn) __define_initcall("2",fn,2) +#define console_initcall(fn) __define_initcall("3",fn,3) +#define postconsole_initcall(fn) __define_initcall("4",fn,4) +#define coredevice_initcall(fn) __define_initcall("5",fn,5) +#define fs_initcall(fn) __define_initcall("6",fn,6) +#define device_initcall(fn) __define_initcall("7",fn,7) +#define late_initcall(fn) __define_initcall("8",fn,8) /* section for code used very early when * - we're not running from where we linked at |