1、
kset
是具有相同型別的kobject的集合
,在sysfs
中體現成乙個目錄,在核心中用
kset
資料結構表示,定義為:
struct
kset
2、kset操作
int
kset_register
(struct
kset
*kset
)在核心中註冊乙個
kset
void
kset_unregister
(struct
kset
*kset
)從核心中登出乙個
kset
3、熱插拔事件
在linux
系統中,當系統配置發生變化時,如
:新增kset
到系統;移動
kobject
, 乙個通知會
從核心空間傳送到使用者空間
,這就是熱插拔事
件。熱插拔事件會導致使用者空間中相應的處
理程式(
如udev,mdev
)被呼叫
, 這些處理程式
會通重載入驅動程式
, 建立裝置節點等來響應
熱插拔事件。
struct
kset_uevent_ops
當該kset
所管理的
kobject
和kset
狀態發生
變化時(如被加入,移動),這三個函式
將被呼叫。
filter
:決定是否將事件傳遞到使用者空間。如果
filter
返回 0,
將不傳遞事件。
name
:用於將字串傳遞給使用者空間的熱插拔處理程
序。uevent
:將使用者空間需要的引數新增到環境變數中。
linux裝置驅動模型之 kset原理與例項分析
1 kset kset是具有相同型別的kobject的集合,在sysfs中體現成乙個目錄,在核心中用kset資料結構表示,定義為 2 kset操作 1 int kset register struct kset kset 在核心中註冊乙個kset 2 void kset unregister str...
linux驅動開發之核心樹配置
在看的時候,作者其中提到setting up your test system。他只是指出為2.6.x編寫模組,首先,要求你在linux系統上構建和配置核心樹,對於2.6版本的核心來說,已有的標頭檔案已經足夠了,但是2.6的模組鏈結著核心原始碼樹中的物件檔案。這樣模組載入器將更健壯,但是也要求這些物...
Linux核心開發 核心模組引數
目錄 使用引數載入模組 module param巨集 讀取和更改引數值 驗證引數值 宣告模組引數陣列 有關模組引數的一些說明 在本文中,我們將向模組新增引數。使用引數,您可以在載入模組時訪問模組全域性變數,並在執行時已載入模組時訪問模組全域性變數。使用insmod命令載入模組時,可以提供引數作為ke...