首先需要初始化操作:
s32 gtp_sysfs_init(void)
{
s32 ret ;
debug_kobj = kobject_create_and_add("gtp", NULL) ;
//SET_INFO_LINE_INFO("Starting initlizing gtp_debug_sysfs");
if (debug_kobj == NULL)
{
GTP_ERROR("%s: subsystem_register failed\n", __func__);
return -ENOMEM;
}
ret = sysfs_create_file(debug_kobj, &dev_attr_rawdata.attr);
if (ret)
{
GTP_ERROR("%s: sysfs_create_rawdata_file failed\n", __func__);
return ret;
}
return 0 ;
}
static DEVICE_ATTR(rawdata, S_IRUGO|S_IWUSR, gtp_sysfs_rawdata_show, gtp_sysfs_rawdata_store);
创建完GTP后下面增加rawdata;
gtp_sysfs_rawdata_show显示函数
gtp_sysfs_rawdata_store写入函数
然后修改显示函数:
struct kobject *debug_kobj;
static ssize_t gtp_sysfs_rawdata_show(struct device *dev,struct device_attribute *attr, char *buf)
{
u8 len;
len = sprintf(buf, "%s", "hello");
return len;
}
编译完成后在/sys/gtp目录下cat rawdata既可以显示hello了;