linux驅動結構之class及相關結構體

2021-06-19 06:18:02 字數 792 閱讀 9863

裝置類struct class是乙個裝置的高階檢視,它抽象出低階的實現細節。例如,驅動可以見到乙個scsi磁碟或者乙個ata磁碟,在類的級別,他們都是磁碟,類允許使用者空間基於它們作什麼來使用裝置,而不是它們如何被連線或者它們如何工作。

struct class

呼叫函式:

int class_register(struct class *cls);  

用於註冊

void class_unregister(struct class *cls);

用於登出

class可以看成是乙個容器,容器總包含了很多的class_device,每個都對應著乙個具體的邏輯裝置,並通過成員變數dev關聯乙個物理裝置。定義為:

struct class_device

呼叫函式:

int class_device_register(struct class_device *class_dev);  

用於註冊

void class_device_unregister(struct class_device *class_dev);

用於登出

相關結構體

struct class_inte***ce

呼叫函式:

int class_inte***ce_register(struct class_inte***ce *class_intf);

用於註冊

void class_inte***ce_unregister(struct class_inte***ce *class_intf);

用於登出

linux驅動結構之class及相關結構體

裝置類struct class是乙個裝置的高階檢視,它抽象出低階的實現細節。例如,驅動可以見到乙個scsi磁碟或者乙個ata磁碟,在類的級別,他們都是磁碟,類允許使用者空間基於它們作什麼來使用裝置,而不是它們如何被連線或者它們如何工作。struct class 呼叫函式 int class regi...

linux驅動結構pci之resource

linux設計了乙個通用的資料結構resource來描述各種i o資源 如 i o埠 外設記憶體 dma和irq等 該結構定義在include linux ioport.h標頭檔案中 struct resource linux是以一種倒置的樹形結構來管理每一類i o資源 如 i o埠 外設記憶體 d...

JVM之Class檔案結構

但是乙個類或者介面不一定生成class檔案,classloader直接生成。各個資料項按照嚴格的順序排列在class檔案中,沒有任何分隔符,當遇到需要占用8位位元組以上的資料項時,則會按照高位在前 或低位在前 方式分割為若干個8位位元組儲存。big endian little endian。clas...