Linux匯流排裝置驅動

2021-09-22 08:28:21 字數 1019 閱讀 5853

註冊裝置使用的結構體platform_device,該結構體在標頭檔案「include/linux/platform_device.h」中,結構體成員如下:

在平台檔案中(linux的arm平台**在arch/arm中)定義結構體並把結構體加入到乙個platform_device型別的指標陣列中,系統會自動註冊這個指標陣列中的所有結構體,不用去呼叫註冊裝置的函式。

在kconfig檔案中新增編譯裝置的巨集定義。

配置menuconfig中的巨集定義,生成新的.config檔案並生成新的zimage。

註冊完之後在虛擬平台匯流排下可以查到註冊的裝置:

– ls /sys/devices/platform/

驅動註冊結構體platform_driver成員如下:

struct platform_driver hello_driver = 

}

驅動註冊標頭檔案

#include

驅動註冊函式

platform_driver_register (platform_driver);

驅動解除安裝函式

platform_driver_unregister (platform_driver);

標頭檔案

#include //註冊雜項裝置標頭檔案

#include //註冊裝置節點的檔案結構體

結構體

struct miscdevice 

struct file_operations

裝置節點函式

misc_register (struct miscdevice); //裝置節點生成函式

misc_deregister (struct miscdevice); //裝置節點刪除函式

linux匯流排,裝置,驅動註冊

遵守udev裝置模型,首先註冊匯流排,然後是匯流排裝置,之後是具體裝置註冊,註冊完之後就可以在sys bus相應的目錄下面找到掛載這個匯流排上的裝置,最後是註冊驅動,驅動會查詢匯流排上的裝置進行繫結。比如 自定義乙個裝置是my vir device,使用匯流排是vir bus。1.註冊匯流排型別 s...

Linux的匯流排裝置驅動模型

在linux中,一開始bus下的device有乙個device鍊錶,driver也有乙個鍊錶,當註冊platform device的時候,會把新的platform device結構體放入device鍊錶,然後從driver的鍊錶中把已有的driver乙個乙個地取出來跟platform device結...

Linux 匯流排裝置驅動模型 (一)

匯流排裝置驅動模型 一.匯流排模型概述 隨著技術的不斷進步,系統的拓撲結構也越來越複雜,對熱插拔,跨平台移植性的要求也越來越高,2.4核心已經難以滿足這些需求。為適應這種形勢的需要,從linux2.6核心開始提供了全新的裝置模型。二.匯流排 1.描述裝置 1.在linux 核心中,匯流排由bus t...