NAME
register_chrdev, unregister_chrdev - register a driver major
number
SYNOPSIS
#include <linux/fs.h>
int register_chrdev(unsigned int major, const char*name,
struct file_operations*ops));
int unregister_chrdev(unsigned int major, const char *name));
DESCRIPTION
The register_chrdev function associates a character major
number with set of driver entry points. The file_operations
structure contains pointers to functions that the the driver
uses to implement the kernel interface to the driver.
The paramter major is the character major number assigned to
the device driver and to be mapped to the function table.
The name parameter is a short name for the device and is
displayed in the The /proc/devices list. It also must
exactly match the name passed to unregister_chrdev function
when releasing the functions.
A device driver module may register as many different major
numbers as it supports, though this is not typically done.
The unregister_chrdev function releases the major number,
and is normally called in the module_cleanup function to
remove the driver from the kernel.
RETURN VALUE
On success, register_chrdev returns 0 if major is a number
other then 0, otherwise Linux will choose a major number and
return the chosen value.
If there is an error, one of the following codes is returned
instead:
-EINVAL
The specified number is not valid (> MAX_CHRDEV)
-EBUSY
The major number is busy
The unregister_chrdev function will return 0 if successful,
or -EINVAL if the major number is not registered with the
matching name.
AVAILABILITY
Linux 1.0+
SEE ALSO
register_blkdev(9) mknod(2)
AUTHOR
Stephen Williams (steve@icarus.com)
BUGS