1
我需要爲驅動程序創建一大堆屬性,這使得靜態分配它們變得不切實際(每個屬性有5個64個目錄)。建議爲Linux設備驅動程序創建許多sysfs目錄和屬性的方法
看起來好像有很多種方法可以在sysfs中創建目錄。一個似乎是sysfs_create_dir_ns()
,另一個似乎是創建struct kobject
s,將它們添加到sysfs,然後向它們添加屬性。
有沒有建議(或「最佳」)的方式來做到這一點?
我需要爲驅動程序創建一大堆屬性,這使得靜態分配它們變得不切實際(每個屬性有5個64個目錄)。建議爲Linux設備驅動程序創建許多sysfs目錄和屬性的方法
看起來好像有很多種方法可以在sysfs中創建目錄。一個似乎是sysfs_create_dir_ns()
,另一個似乎是創建struct kobject
s,將它們添加到sysfs,然後向它們添加屬性。
有沒有建議(或「最佳」)的方式來做到這一點?
一種可能的方式,至少在你只需要創建一層子目錄的情況下工作,就是使用struct attribute_group
。這個結構有一個成員name
,如果不是NULL,它將被用作一個目錄,其中屬性組中列出的屬性將被插入。
但是,這並不允許多層目錄,因爲sysfs_create_group()
創建的第一級沒有匹配的kobject
。
在我看來,這樣做並不是真正的建議或支持。如果你需要這樣的東西,你應該創建子設備。 – Jan