cdev_alloc 的疑问
cdev_alloc 可以用来动态分配一个struct cdev 结构函数原型:
struct cdev *cdev_alloc(void) ;
问题:
要想动态或者一个struct cdev,用kmalloc不就可以了吗?为什么还有一个专门的处理函数?
527 /**
528* cdev_alloc() - allocate a cdev structure
529*
530* Allocates and returns a cdev structure, or NULL on failure.
531*/
532 struct cdev *cdev_alloc(void)
533 {
534 struct cdev *p = kzalloc(sizeof(struct cdev), GFP_KERNEL);
535 if (p) {
536 INIT_LIST_HEAD(&p->list);
537 kobject_init(&p->kobj, &ktype_cdev_dynamic);
538 }
539 return p;
540 }
因为kzalloc以后还要kobject_init 原帖由 qiangqiang02 于 2009-10-20 16:58 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
cdev_alloc 可以用来动态分配一个struct cdev 结构
函数原型:
struct cdev *cdev_alloc(void) ;
问题:
要想动态或者一个struct cdev,用kmalloc不就可以了吗?为什么还有一个专门的处理 ...
封装复用,还有LS说的,实际上单纯分配一个结构简单,但是要更新相关的系统数据结构就比较复杂了
封装一下方便许多
页:
[1]