是否可以使用变量名在/ sys下创建属性文件? 例如:如何使用变量名创建/ sys属性
char *variable_name = foo;
/* Create an attribute file foo */
struct kobj_attribute test = __ATTR(variable_name,0660,_show,_store);
是否可以使用变量名在/ sys下创建属性文件? 例如:如何使用变量名创建/ sys属性
char *variable_name = foo;
/* Create an attribute file foo */
struct kobj_attribute test = __ATTR(variable_name,0660,_show,_store);
我没有真正进入内核开发。但是:如果你这样做:
find /sys -type f -name '*1*'
你应该找到一些例子,其他代码正在做你正在寻找的东西。所以,我只是抓住这些例子,看看它们是如何做到的。一个例子可能是机器检查异常代码:
[...]
/sys/devices/system/machinecheck/machinecheck0/bank1
/sys/devices/system/machinecheck/machinecheck1/bank1
/sys/devices/system/machinecheck/machinecheck2/bank1
/sys/devices/system/machinecheck/machinecheck3/bank1
/sys/devices/system/machinecheck/machinecheck4/bank1
/sys/devices/system/machinecheck/machinecheck5/bank1
[...]
$ ls /sys/devices/system/machinecheck/machinecheck0/bank*
/sys/devices/system/machinecheck/machinecheck0/bank0
/sys/devices/system/machinecheck/machinecheck0/bank1
/sys/devices/system/machinecheck/machinecheck0/bank2
/sys/devices/system/machinecheck/machinecheck0/bank3
/sys/devices/system/machinecheck/machinecheck0/bank4
/sys/devices/system/machinecheck/machinecheck0/bank5
/sys/devices/system/machinecheck/machinecheck0/bank6
在任何情况下,好像你必须重新实现了这个__ATTR宏(即初始化kobj_attribute结构自己)。
宏__ATTR使得stringify变量。 看sysfs.h
的__stringify宏是:
#define __stringify_1(x...) #x
#define __stringify(x...) __stringify_1(x)
看到Linux内核树下样品/ kobject的/ kobject的-example.c对于如何创建在/ sys
的属性文件的例子
请详细说明你真正想要完成的事情,因为我真的不明白。 –