Sysfs文件系统接口调试

首先需要初始化操作:

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了;

你可能感兴趣的:(文件系统)