004_linux驱动之_class_create创建一个设备类

(一)解析:class_create函数和class_destroy函数

    创建一个类         和        删除一个类。
 
(二)class_create函数原型
 
struct class *class_create(struct module *owner, const char *name);
 
1. 查看函数注释:

/ * *

创建一个struct类结构

* @owner:指向“拥有”这个struct类的模块的指针

* @name:指向该类名称的字符串的指针。

*

*这是用来创建一个结构类指针,然后可以使用

*调用class_device_create()。

*

*注意,这里创建的指针将在完成时被销毁

*调用class_destroy()。

* /

 
2. 使用示例:


 


从使用示例中和解析中我们看出,使用class_create函数第一个变量为.owner,第二个变量为这个类的名字
 
.owner为什么使用THIS_MODULE呢,这个我们看到003_linux驱动之_file_operations函数 里面我们使用举例里面我们的.owner是THIS_MODULE 
这个可以不用管它,先这样设置。
 
3. 说白了,这个函数就是创建一个类,还需在这个类下面创建设备,不然的话这个类没什么用
 
(三)从上面的注解中我们可知道,要删除这个类我们需要调用class_destroy这个函数
函数原型:void class_destroy(struct class *cls);
我们看一下class_destroy函数的注解

/ * *

* class_destroy -销毁一个struct类结构

* @cls:指向将要被销毁的struct类的指针

*

*注意,要销毁的指针必须是通过调用创建的

* class_create()。

* /

使用示例:

 



 
(四)在这个类下面创建一个设备

 

posted @ 2018-09-22 15:27  陆小果哥哥  阅读(5396)  评论(0编辑  收藏  举报