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...