On Fri, Apr 17, 2015 at 03:51:09PM +0800, yoma sophian wrote: > hi Greg: > >> > The linker order determines the order of the init functions. > >> Would you mind to let us know where and how it do so? > > > > I don't understand, what is the problem with the existing code? What > > are you trying to solve here? Is the linking order somehow not working > > properly? > No. > there is no problem with so far kernel, it just suddenly pop to my > mind when I trace usb kernel source. > in kernel do_initcalls will run the initial flow with following order. > if usb modules are in the same level, where it determine which one to go first? > appreciate ur kind help, > > static char *initcall_level_names[] __initdata = { > "early", > "core", > "postcore", > "arch", > "subsys", > "fs", > "device", > "late", > }; Please read the kbuild documentation, it explains all of this and how it works. Specifically look at section 3.2 in Documentation/kbuild/makefilex.txt hope this helps, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html