註冊裝置使用的結構體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...