Наши партнеры

Hello World (part 2)

As of Linux 2.4, you can rename the init and cleanup functions of your modules; they no longer have to be called
init_module() and cleanup_module() respectively. This is done with the
module_init() and module_exit() macros. These macros are defined in linux/init.h. The only caveat is that your init and cleanup functions must be defined before
calling the macros, otherwise you'll get compilation errors. Here's an example of this technique:

Now have a look at linux/drivers/char/Makefile for a real world example. As you can see, some things
get hardwired into the kernel (obj-y) but where are all those obj-m gone? Those familiar with shell scripts will easily be
able to spot them. For those not, the obj-$(CONFIG_FOO) entries you see everywhere expand into obj-y or obj-m, depending on
whether the CONFIG_FOO variable has been set to y or m. While we are at it, those were exactly the kind of variables
that you have set in the linux/.config file, the last time when you said make menuconfig
or something like that.