【问题标题】:Recommended way to create many sysfs directories and attributes for a linux device driver为 linux 设备驱动程序创建许多 sysfs 目录和属性的推荐方法
【发布时间】:2015-09-01 23:22:00
【问题描述】:

我需要为驱动程序创建一大堆属性,这使得静态分配它们变得不切实际(64 个目录,每个目录有 5 个属性)。

看起来有多种方法可以在 sysfs 中创建目录。一个似乎是sysfs_create_dir_ns(),另一个似乎是创建struct kobjects,将它们添加到sysfs,然后向它们添加属性。

有推荐的(或“最佳”)方法吗?

【问题讨论】:

  • 在我看来,这样做根本不被推荐或支持。如果你需要这样的东西,你可能应该创建子设备。

标签: linux-device-driver sysfs


【解决方案1】:

一种可能的方法是使用struct attribute_group,如果您只需要创建一层子目录,它至少可以工作。此结构有一个成员 name,如果不是 NULL,则该成员将用作插入属性组中列出的属性的目录。

但是,这不允许多层目录,因为您没有与 sysfs_create_group() 创建的第一级匹配的 kobjects。

【讨论】:

  • 谢谢。这正是我使用 device_create_with_groups 在目录中组织我的属性所需要的。将属性拆分为组,并将 struct attribute_group 的 name 成员分配给子目录名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多