platform驅動分析

2021-06-08 11:11:36 字數 638 閱讀 1197

platform驅動程式設計路線:註冊裝置(platform_device)->編寫裝置驅動。

註冊裝置:

struct platform_device ;

其中比較重要的成員struct resource * resource 表徵platform_device所戰用的資源,  當然對於比較簡單的裝置(普通的i/0)不用註冊該結構,例:

struct platform_device iccard_device = ; 

如果沒有註冊platform_device,別指望自身定義的probe會為你做什麼工作,因為在驅動與裝置匹配時會出錯到不了probe這一步。

platform_device裝置註冊的實現函式為platform_device_register(struct platform_device *pdev);具體實現為:

int platform_device_register(struct platform_device *pdev)

裝置驅動:

static struct platform_driver iccard_driver = ,

};platform_driver_register(&iccard_driver);

platform裝置驅動

platform bus是一種虛擬匯流排,作用就是將裝置資訊和驅動程式進行分離,platform bus會維護兩條線,一條是裝置,一條是驅動。當乙個裝置被註冊到匯流排上面的時候,匯流排會去搜尋對應的驅動,反之如果驅動被註冊到匯流排,匯流排也會去找對應的驅動。描述裝置資訊的方式有2種,一種是通過手動填...

platform驅動框架

裝置結構體 struct dev struct dev dev 定義個裝置結構體變數 static int open struct inode inode,struct file filp static ssize t write struct file filp,const char user b...

platform裝置驅動框架

這裡簡單總結下platform匯流排的裝置驅動 的框架。1 建立資料夾platform 2 在資料夾下編寫裝置檔案device.c include include include include include include module author wjb module license dua...