order of call to built-in modules
HI, The macros module_init() and module_exit() are used both in case a source is built-in (the code is called from the init stage) or as a kernel module (implementing a init_module symbol). In case 2 of /built-in/ modules I am wondering if it is possible to know by advance the order used to call the various module_init() entry points. Is it possible to fix this order? rgs, DS
On Mon, Apr 11, 2011 at 11:04:55PM +0300, David Shwatrz wrote:
HI, The macros module_init() and module_exit() are used both in case a source is built-in (the code is called from the init stage) or as a kernel module (implementing a init_module symbol).
In case 2 of /built-in/ modules I am wondering if it is possible to know by advance the order used to call the various module_init() entry points. Is it possible to fix this order?
Yes, the ordering is done by link order. See the kernel Makefiles which determine this order. Hope this helps, greg k-h
Hi David On Mon, Apr 11, 2011 at 10:04 PM, David Shwatrz <dshwatrz@gmail.com> wrote:
HI, The macros module_init() and module_exit() are used both in case a source is built-in (the code is called from the init stage) or as a kernel module (implementing a init_module symbol).
In case 2 of /built-in/ modules I am wondering if it is possible to know by advance the order used to call the various module_init() entry points. Is it possible to fix this order? rgs,
If I recall correctly, the order is given by the Makefile, so to have a driver being initialized before another one, you have to remangle your Makefile tree to match the order you want. Hope it helps. bye -- -gaspa-
On Mon, Apr 11, 2011 at 1:04 PM, David Shwatrz <dshwatrz@gmail.com> wrote:
HI, The macros module_init() and module_exit() are used both in case a source is built-in (the code is called from the init stage) or as a kernel module (implementing a init_module symbol).
Yes its possible to change. Have a look at the function do_initcalls() where it traverses the table.
In case 2 of /built-in/ modules I am wondering if it is possible to know by advance the order used to call the various module_init() entry points. Is it possible to fix this order? rgs, DS
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Thanks - Manish
participants (4)
-
David Shwatrz -
Gasparini Andrea -
Greg KH -
Manish Katiyar