> The problem is *not* the networking initialisation (I wish> people were *reading* my e-mails). The basic networking is initialised> early enough. The various networking stacks could be initialised> earlier, but I don't depend on them. Note that there might be a reason> to initialise networking after the file system, so to do that we might> need to insert a level between fs_initcall() and device_initcall().

If you insert enough levels, you are in another form of madness.

There should be a way of saying "This must be initialized after this, andbefore that" (the "before that" might perhaps be taken care of by the"that" itself). Spiced with a few "barriers": "Networking inited", etc.>From there the build system should figure it out by itself. tsort(1) on anappropiate bunch of descriptive one-liners (extracted from the sources?)should give the right initialization order, or error out.