Sponsored Content
Full Discussion: Chardev.c
Operating Systems Linux Chardev.c Post 302777803 by Corona688 on Friday 8th of March 2013 11:48:19 AM
Old 03-08-2013
In short, a kernel module is a list of functions. When the device is opened, it calls your kernel module's own personal open() function. When the device is read from, it calls your kernel module's own personal read() function. You give them private names like device_open and device_read, and tell the kernel which one is close() by filling out the right values in the file_operations structure.

Ask more specific questions and we can give more specific answers.
 
modload(1M)						  System Administration Commands					       modload(1M)

NAME
modload - load a kernel module SYNOPSIS
modload [-p] [-e exec_file] filename DESCRIPTION
The modload command loads the loadable module filename into the running system. filename is an object file produced by ld -r. If filename is an absolute pathname then the file specified by that absolute path is loaded. If filename does not begin with a slash (/), then the path to load filename is relative to the current directory unless the -p option is specified. The kernel's modpath variable can be set using the /etc/system file. The default value of the kernel's modpath variable is set to the path where the operating system was loaded. Typically this is /kernel /usr/kernel. For example, the following command looks for ./drv/foo: example# modload drv/foo The following command looks for /kernel/drv/foo and then /usr/kernel/drv/foo: example# modload -p drv/foo OPTIONS
The following options are supported: -e exec_file Specify the name of a shell script or executable image file that is executed after the module is successfully loaded. The first argument passed is the module ID (in decimal). The other argument is module specific. The module specific information is: the block and character major numbers for drivers, the system call number for system calls, or, for other module types, the index into the appropriate kernel table. See modinfo(1M) -p Use the kernel's internal modpath variable as the search path for the module. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
ld(1), add_drv(1M), kernel(1M), modinfo(1M), modunload(1M), system(4), attributes(5), modldrv(9S), modlinkage(9S), modlstrmod(9S), mod- ule_info(9S) NOTES
Use add_drv(1M) to add device drivers, not modload. See for procedures on adding device drivers. SunOS 5.11 1 Dec 1993 modload(1M)
All times are GMT -4. The time now is 03:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy