diff options
Diffstat (limited to 'upstream/mageia-cauldron/man9/init_module.9')
-rw-r--r-- | upstream/mageia-cauldron/man9/init_module.9 | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man9/init_module.9 b/upstream/mageia-cauldron/man9/init_module.9 new file mode 100644 index 00000000..c582c168 --- /dev/null +++ b/upstream/mageia-cauldron/man9/init_module.9 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" +.\" copyright (C) 1997 Stephen Williams <steve@icarus.com> +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.TH init_module 9 "$Date:$" "Linux DDI" "Kernel Functions" +.\" +.\" Turn off hyphenation and right justification for the first sections. +.hlm 0 +.na +.\" The name should be formatted this way for apropos to work +.SH NAME +init_module, cleanup_module \- module load and unload functions +.\" +.\" +.SH SYNOPSIS +.B #include <linux/module.h> +.br +.B #include <linux/modversions.h> +.sp +.BI "int init_module(void);" +.br +.BI "void cleanup_module(void);" +.HP +.\" +.\" Turn hyphenation and adjustment back on. +.hlm 1 +.ad +.SH DESCRIPTION +These functions are not part of the kernel but entry points into +loadable modules. These are the only symbols that must be externally +defined in order to load a module into a running kernel. +.PP +When a module is loaded into a running kernel, the +.BR init_module "(9)" +function within that object file is called to set up the module. The +implementation of that function initializes local features and +uses functions such as +.BR register_chrdev "(9)" +to attach itself to the kernel. It then returns zero(0) if it +succeeds. If there is a problem or the module decides that it cannot +be loaded, it returns instead an error code (i.e. +.IR -ENODEV ) +and the kernel releases the module again. +.PP +Once loaded, the +.BR cleanup_module "(9)" +function of a module is used by the kernel to remove the module +again. The module detaches itself from the kernel and returns. +.SH "RETURN VALUE" +The +.BR init_module "(9)" +function returns 0 on success, or an error code <0 if the module +cannot be initialized. +.SH AVAILABILITY +Linux 1.0+ +.SH "SEE ALSO" +.hlm 0 +.na +.BR MOD_INC_USE_COUNT "(9), " insmod "(1)" +.ad +.hlm 1 +.PP +Also list some source files for the +kernel that implement the functions of the page. +.SH AUTHOR +Stephen Williams <steve@icarus.com> +.SH BUGS +It is entirely up to the driver to be sure it is detached from the +kernel when unloaded. If a module makes an error in this regard, bad +things may happen. |