痛苦之旅二 linux匯流排裝置驅動模型之匹配函式

2021-10-08 12:47:41 字數 725 閱讀 1120

本小節想重點說一下platform device和platform driver是如何匹配上的

函式位置:drivers/base/platform.c

函式描述:platform device平台裝置id按照如下格式:,其中name代表該平台裝置型別的簡述,例如pci等等;instance為該平台裝置的編號,例如0 1 2等等;platform driver平台驅動的id都是按照name來編排的,所以按照platform的name和driver的name來進行驅動與裝置的匹配

函式返回值:返回1表示match上了,0表示沒有match上

函式如何被呼叫:系統為platform bus定義了乙個例項叫做platform_bus_type

在系統每次註冊乙個platform device時,該函式被呼叫尋找匹配的platform driver;

在系統每次註冊乙個platform driver時,該函式被呼叫尋找匹配的platform device

/* @match:	called, perhaps multiple times, whenever a new device or driver

* is added for this bus. it should return a positive value i

Linux匯流排裝置驅動

註冊裝置使用的結構體platform device,該結構體在標頭檔案 include linux platform device.h 中,結構體成員如下 在平台檔案中 linux的arm平台 在arch arm中 定義結構體並把結構體加入到乙個platform device型別的指標陣列中,系統會...

ARM Linux開發 Linux檢視裝置驅動

驅動操作命令 insmod modprobe 載入驅動 rmmod 解除安裝驅動 lsmod 檢視系統中所有已經被載入了的所有的模組以及模組間的依賴關係 modinfo 獲得模組的資訊 檢視已經載入的驅動模組的資訊 lsmod 能夠顯示驅動的大小以及被誰使用 cat proc modules 能夠顯...

Linux驅動基礎 platform裝置驅動

以高通平台為例,會在kernel arch arm mach msm下的相應的board c檔案裡邊用 dt machine start 這個巨集定義一系列的晶元。以高通8916為例 在kernel arch arm mach msm board 8916.c檔案裡定義了 當然下面使用哪個要看一下。...