linux-2.6.22/include/linux/cdev.h
void cdev_init (struct cdev *cdev,const struct file_operations *fops);
@cdev: the structure to initialize
@fops: the file_operations for this device
Initializes cdev, remembering fops, making it ready to add to the system with cdev_add.
cdev_add() — add a char device to the system
-------------------------------------------------
linux-2.6.22/include/linux/cdev.h
int cdev_add (struct cdev * p,
dev_t dev,
unsigned count);
@p: the cdev structure for the device
@dev: the first device number for which this device is responsible
@count: the number of consecutive minor numbers corresponding to this device
cdev_add() adds the device represented by @p to the system, making it live immediately. A negative error code is returned on failure.
alloc_chrdev_region() — register a range of char device numbers
-------------------------------------------------
linux-2.6.22/include/linux/cdev.h
int alloc_chrdev_region(dev_t *dev,
unsigned int baseminor,
unsigned int count,
char *name)
@dev: output parameter for first assigned number
@baseminor: first of the requested range of minor numbers(次设备号)
@count: the number of minor numbers required
@name: the name of the associated device or driver
Allocates a range of char device numbers. The major number will be chosen dynamically, and returned (along with the first minor number) in dev. Returns zero or a negative error code.使用alloc_chrdev_region()函数动态获取主设备号。
cdev_init()函数
最新推荐文章于 2024-06-14 11:44:43 发布