首先需要初始化操作:
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 ", __func__); return -ENOMEM; } ret = sysfs_create_file(debug_kobj, &dev_attr_rawdata.attr); if (ret) { GTP_ERROR("%s: sysfs_create_rawdata_file failed ", __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了;