天天看點

linux字元裝置驅動之裝置節點的自動建立

裝置節點的自動建立

在寫Linux裝置驅動程式的時候,很多時候都是利用mknod指令手動建立裝置節點,

實際上Linux核心為我們提供了一組函數,可以用來在子產品加載的時候自動在/dev目錄下建立相應裝置節點,

并在解除安裝子產品時删除該節點,當然前提條件是使用者空間移植了udev。

核心中定義了struct class結構體,顧名思義,一個struct class結構體類型變量對應一個類,

核心同時提供了class_create(…)函數,可以用它來建立一個類,這個類存放于sysfs下面,

一旦建立好了這個類,再調用device_create(…)函數來在/dev目錄下建立相應的裝置節點。

這樣,加載子產品的時候,使用者空間中的udev會自動響應device_create(…)函數,去/sysfs下尋找對應的類進而建立裝置節點。

通過device_destroy();class_destroy();來登出類和節點

繼續閱讀