驱动_ConfigFS多级目录操作

ConfigFS实现多级目录创建

ConfigFS 系统实现多级组目录


前言

前面的知识点从ConfigFS 概念 -> ConfigFS基础必备 ->ConfigFS注册子系统->ConfigFS注册group组->ConfigFS 注册Item-> ConfigFS 释放资源->再到这里ConfigFS 属性读取->ConfigFS 实现多级目录创建。其实都是从一个简单例子,一步一步到各个知识点,对同一个实例不断添加知识点的功能。 这里就开始理解属性相关知识了。

其实就是要在子group 中继续创建group 实现这样的一个功能或者需求。

参考资料

重温一下前面的知识点,方便后续查看资料时候对知识点进行再一次的脉络梳理:

Linux驱动-设备树插件语法
设备树插件基础必备
设备树插件注册子系统
驱动-设备树插件-注册group
RK3568驱动指南|第八篇 设备树插件-第78章 用户空间创建item实验
驱动-设备数插件-创建Item
设备树插件-第79章 完善drop和release函数实验
驱动-ConfigFS-释放资源篇
设备树插件 注册attribute实验
Linux驱动-ConfigFS-读写属性操作
设备树插件-第81章 实现多级目录实验
迅为设备树插件模块知识点

一、ConfigFS实现多级目录知识点

源码实例

#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/configfs.h>

// 定义一个名为"mygroup"的config_group结构体
static struct config_group mygroup;

// 自定义的配置项结构体
struct myitem
{
   
   
    struct config_item item;
    int size;
    void *addr;
};
// 自定义的配置组结构体
struct mygroup
{
   
   
    struct config_group group;
};

// 配置项释放函数
void myitem_release(struct config_item *item)
{
   
   
    struct myitem *myitem = container_of(item, struct myitem, item);
    kfree(myitem);
    printk("%s\n", __func__);
};

// 读取配置项内容的回调函数
ssize_t myread_show(struct config_item *item, char *page)
{
   
   
    struct myitem *myitem = container_of(item, struct myitem, item);
    memcpy(page, myitem->addr, myitem->size);
    printk("%s\n", __func__);
    return myitem->size;
};

// 写入配置项内容的回调函数
ssize_t mywrite_store
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野火少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值