裝置節點的自動建立
在寫Linux裝置驅動程式的時候,很多時候都是利用mknod指令手動建立裝置節點,
實際上Linux核心為我們提供了一組函數,可以用來在子產品加載的時候自動在/dev目錄下建立相應裝置節點,
并在解除安裝子產品時删除該節點,當然前提條件是使用者空間移植了udev。
核心中定義了struct class結構體,顧名思義,一個struct class結構體類型變量對應一個類,
核心同時提供了class_create(…)函數,可以用它來建立一個類,這個類存放于sysfs下面,
一旦建立好了這個類,再調用device_create(…)函數來在/dev目錄下建立相應的裝置節點。
這樣,加載子產品的時候,使用者空間中的udev會自動響應device_create(…)函數,去/sysfs下尋找對應的類進而建立裝置節點。
通過device_destroy();class_destroy();來登出類和節點