--- zzzz-none-000/linux-2.6.13.1/include/linux/init.h 2005-09-10 02:42:58.000000000 +0000 +++ ohio-7170-487/linux-2.6.13.1/include/linux/init.h 2005-09-28 11:22:17.000000000 +0000 @@ -99,14 +99,26 @@ #define __exitcall(fn) \ static exitcall_t __exitcall_##fn __exit_call = fn -#define console_initcall(fn) \ - static initcall_t __initcall_##fn \ - __attribute_used__ __attribute__((__section__(".con_initcall.init")))=fn - #define security_initcall(fn) \ static initcall_t __initcall_##fn \ __attribute_used__ __attribute__((__section__(".security_initcall.init"))) = fn +/*------------------------------------------------------------------------------------------*\ +\*------------------------------------------------------------------------------------------*/ +#define __define_early_initcall(level,fn) \ + static initcall_t __initcall_##fn __attribute_used__ \ + __attribute__((__section__(".initcall.early" level ".init"))) = fn + +#define early_initcall(fn) __define_early_initcall("1",fn) + +/*------------------------------------------------------------------------------------------*\ +\*------------------------------------------------------------------------------------------*/ +#define console_initcall(fn) \ + static initcall_t __initcall_##fn \ + __attribute_used__ __attribute__((__section__(".con_initcall.init")))=fn + +/*------------------------------------------------------------------------------------------*\ +\*------------------------------------------------------------------------------------------*/ struct obs_kernel_param { const char *str; int (*setup_func)(char *);