module_init and module_exit are defined in module.h

Both module_init and module_exit are defined in
include/linux/module.h
This commit is contained in:
leovincentseles 2022-06-25 23:15:48 +08:00
parent 63ac35dd4f
commit 22ebabe297

View File

@ -419,7 +419,7 @@ What happens?
\subsection{Hello and Goodbye} \subsection{Hello and Goodbye}
\label{hello_n_goodbye} \label{hello_n_goodbye}
In early kernel versions you had to use the \cpp|init_module| and \cpp|cleanup_module| functions, as in the first hello world example, but these days you can name those anything you want by using the \cpp|module_init| and \cpp|module_exit| macros. In early kernel versions you had to use the \cpp|init_module| and \cpp|cleanup_module| functions, as in the first hello world example, but these days you can name those anything you want by using the \cpp|module_init| and \cpp|module_exit| macros.
These macros are defined in \src{include/linux/init.h}. These macros are defined in \src{include/linux/module.h}.
The only requirement is that your init and cleanup functions must be defined before calling the those macros, otherwise you'll get compilation errors. The only requirement is that your init and cleanup functions must be defined before calling the those macros, otherwise you'll get compilation errors.
Here is an example of this technique: Here is an example of this technique: