(一)解析: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()。
* /
使用示例:
(四)在这个类下面创建一个设备