|
LDD那本书的第60到61页(中国电力出版社,第三版),书上说的cdev结构在使用前必须分配和初始化。就是利用下面两个函数
struct cdev *my_cdev = cdev_alloc();
cdev_init(struct cdev *cdev,struct file_operations *fops);
来完成的
本人对cdev_init函数的理解是结构体cdev的file_operation元素被fops初始化,但在61页的代码中,在cdev_init初始化之后,却出现了dev->cdev.ops = &scull_fops;这句。
我想问的是如果cdev_init已经将cdev的file_operations元素初始化了,为何还要再赋一次值呢?
还有就是我在google上搜了一下,没找到cdev.c的代码,所以只好来这里看看有没有linux同好可以指点一下.
先谢谢了 |
|