2013-05-31 54 views
-1

我已經讀過驅動程序核心通過netlink從sysfs發送uevents到udev或一些正在監聽的守護進程,然後相應的驅動程序被udev識別並加載它。但是,如何創建對應於熱插拔設備的這個sysfs條目? 。熱插拔設備的sysfs條目

在此先感謝您的回覆。

回答

0

驅動程序創建sysfs條目時,它們使用主要/次要編號進行初始化,這些編號或者是已經獲得或已被硬編碼使用。這些設備文件夾中的文件'uevent'文件允許守護進程通過netlink套接字發送事件。

寫入'uevent'文件中的「add」值將導致所有的add事件生成,因此您可以使用udev或任何正在運行的守護進程(具有適當的權限)可以創建/ dev條目。

看看這個掛起的hotplug.txt文件,看看它是如何工作的。

+0

感謝您的回覆。但是,設備在熱插拔時如何創建sysfs條目?我的理解是,僅從這個sysfs條目中,udev使用uvents理解相應的驅動程序並加載它。然後,如您所說,驅動程序會創建它們的條目。是我的理解是否正確? – Djames

+0

這是一個小設備,依賴於驅動程序和硬件的邏輯。如果以SD卡爲例,傳統上GPIO被用作驅動程序中的卡檢測中斷。一旦中斷被觸發,它會導致驅動程序創建sysfs條目併發送被udev或其他等效守護程序捕獲的任何必要事件以創建最終結果/ dev文件。因此,每個「熱插拔」硬件都必須具有一些類似的功能,以向驅動程序報告其插入/拔出情況。 – Ashwin

+0

所以你說的是,如果沒有相應的驅動程序支持,設備不能創建sysfs條目,或者設備的相應驅動程序不存在,那麼設備將不會有sysfs條目? – Djames