Thread (11 messages) 11 messages, 4 authors, 2013-01-12

Regarding module init function

From: Tobias Boege <hidden>
Date: 2013-01-10 08:47:47

On Tue, 08 Jan 2013, anish kumar wrote:
On Tue, 2013-01-08 at 14:51 +0100, Tobias Boege wrote:
quoted
On Tue, 08 Jan 2013, Rahul Bedarkar wrote:
quoted
Ok. in init/main.c we call do_basic_setup(). Where do_initcalls call each
of init functions from __early_initcall_end to __initcall_end. But I don't
know from where these values gets initialized.
Take a look at include/linux/init.h. There you can find the macros for
declaring various init functions. They all go into special sections. The
rest is linker magic (e.g. arch/x86/kernel/vmlinux.lds{,.S}).
quoted
I want to know when one of auxdriver (selected in from menuconfig) is built
as built-in module. When and Who calls it's init function ?
It's, too, in the init.h. There are two definitions of module_init()
depending on whether MODULE is declared or not. The first definition is
How does the individual driver define this MODULE?I think some macro
magic works here.
I suppose that this is done through the invocation of the preprocessor,
using -DMODULE depending on whether the target is built-in or a module.

Regards,
Tobi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help