From fe91ab5e76a725c8be3cfb22f343327a53437359 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 5 Jun 2002 13:22:35 -0700 Subject: Fix generic device layer init sequence. Generic BUS objects have to be registered before devices assosciated with them are probed. Therefore subsys_initcall is inappropriate for such setups. It does not work to use core_initcall for this because the generic device layer bits need to be setup first too. So we rename unused_initcall to postcore_initcall and use this new initcall level for generic BUS object init. This fixes bootup on Alpha, and Sparc64. X86 was working by what looks to be luck in link order. --- include/linux/init.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/linux/init.h') diff --git a/include/linux/init.h b/include/linux/init.h index ca7e75f37883..b45b95c5e640 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -61,7 +61,7 @@ extern initcall_t __initcall_start, __initcall_end; static initcall_t __initcall_##fn __attribute__ ((unused,__section__ (".initcall" level ".init"))) = fn #define core_initcall(fn) __define_initcall("1",fn) -#define unused_initcall(fn) __define_initcall("2",fn) +#define postcore_initcall(fn) __define_initcall("2",fn) #define arch_initcall(fn) __define_initcall("3",fn) #define subsys_initcall(fn) __define_initcall("4",fn) #define fs_initcall(fn) __define_initcall("5",fn) @@ -160,7 +160,7 @@ typedef void (*__cleanup_module_func_t)(void); #define __setup(str,func) /* nothing */ #define core_initcall(fn) module_init(fn) -#define unused_initcall(fn) module_init(fn) +#define postcore_initcall(fn) module_init(fn) #define arch_initcall(fn) module_init(fn) #define subsys_initcall(fn) module_init(fn) #define fs_initcall(fn) module_init(fn) -- cgit v1.2.3