关键词

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()。

* /

使用示例:

 

 

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

 

本文链接:http://task.lmcjl.com/news/13963.html

展开阅读全文