深入分析匯流排裝置驅動模型的框架

2022-06-21 06:48:11 字數 765 閱讀 4582

匯流排裝置驅動框架結構如下:

1)會把device代表的結構體放入匯流排的bus_dev鍊錶中;

2)從bus_drv鍊錶中取出每個drv,用匯流排的match函式判斷drv能否支援該dev;

3)如果能夠支援,則呼叫drv中的probe函式;

driver_register:

1)會把driver代表的結構體放入匯流排的bus_drv鍊錶中;

2)從bus_dev鍊錶中取出每個dev,用匯流排的match函式判斷該drv能否支援取出的dev;

3)如果能夠支援,則呼叫drv中的probe函式。

注意:match函式是根據驅動的名字和裝置的名字是否一致來進行判斷,如果兩者相同,則呼叫驅動中的probe函式。至於在probe裡面做什麼事情,完全由自己決定。

接下來,看一下platform_driver 和platform_device結構體。

1

struct

platform_driver ;

1

struct

platform_device ;

匯流排裝置驅動模型的大致過程就是這樣的,雖然隨著核心版本的提高,描述裝置板級資訊的這部分**被裝置樹逐漸代替。但是不管如何代替,device_add和driver_register這兩大過程是不缺少的。

驅動 匯流排裝置框架

匯流排裝置驅動框架是一種類似於輸入子系統的框架。匯流排裝置驅動,顧名思義,共有三個模組 負責硬體資源的裝置 device 負責處理硬體事務並且連線其他功能模組的驅動 driver 連線這兩者的匯流排 bus 其過程分為以下步驟 1.當加入乙個裝置時,如果該裝置支援中斷喚醒執行緒,那麼在中斷處理程式內...

匯流排 裝置 驅動模型

裝置元素 匯流排,驅動,裝置 匯流排 處理器和裝置之間的通道,在裝置模型中,所有的裝置都通過匯流排相連,甚至是內部的虛擬 platform 匯流排 定時器,看門狗並沒有直接相連 在linux裝置模型中,匯流排由bus type結構表示,定義在 匯流排的註冊使用 bus register struct...

匯流排裝置驅動模型

匯流排裝置驅動模型 匯流排是主機和裝置之間的通道,由bus type 結構描述。int bus register struct bus type bus 匯流排的註冊,若成功,新的匯流排將被新增進系統,並可在 sysfs 的 sys bus 下看到。void bus unregister struc...