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

* /

使用示例:

 



 
(四)在這個類下面創建一個設備

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM