根据键名解析特定属性的值相关API

mycdev.c

复制代码
#include <linux/init.h>
#include <linux/module.h>
#include <linux/of.h>

struct device_node *node; //解析得到的设备树节点对象指针
struct property *pr;   //属性结构体指针
int len;
u32 a;
u32 b[2];
const char *str;
u8 c[6];
static int __init mycdev_init(void)
{
    int i;
    //解析设备树节点信息
    node = of_find_node_by_path("/mynode@0x12345678");
    if(node == NULL)
    {
        printk("解析设备树节点失败\n");
        return -ENXIO;
    }
    printk("获取节点信息成功\n");
    //获取u32数值
    of_property_read_u32_index(node,"unit",0,&a);
    printk("%#x\n",a);
    printk("u32\n");
    //获取u32数组
    of_property_read_variable_u32_array(node,"unit",b,2,2);
    printk("%#x,%#x\n",b[0],b[1]);
    printk("u32数组\n");
    //获取字符串类型的值
    of_property_read_u8_array(node,"binarry",c,6);
    for(i=0;i<6;i++)
    {
        printk("%#x\n",c[i]);
    }
    printk("u8\n");
    return 0;
}
static void __exit mycdev_exit(void)
{


}
module_init(mycdev_init);
module_exit(mycdev_exit);
MODULE_LICENSE("GPL");
相关推荐
禅思院35 分钟前
AI对话前端从入门到崩溃:一个长对话引发的五层优化战争【引子】
前端·面试·架构
带刺的坐椅1 小时前
用 ChatModel 构建 LLM 驱动的 Java 应用
java·ai·llm·solon·rag·chatmodel
TrisighT1 小时前
Electron 鸿蒙 PC 上点外链唤醒应用,我试了 6 种写法只有 1 种能跑
前端·electron·harmonyos
天才熊猫君2 小时前
配置与数据分离:一种可视化搭建的属性编辑方案
前端·javascript
林希_Rachel_傻希希2 小时前
web性能之相关路径——AI总结
前端·javascript·面试
竹林8182 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换在 DeFi 前端中的正确姿势
前端·javascript
用户2136610035722 小时前
Vue项目搜索功能与面包屑导航
前端·javascript
星栈2 小时前
LiveView 的实时通信,爽是爽,但 PubSub 和广播也最容易把自己绕晕
前端·前端框架·elixir
用户2930750976692 小时前
告别关键词匹配,拥抱向量语义 —— RAG 搜索从零到一
前端
独孤留白3 小时前
从C到Rust:告别 C 的"指针 + 长度"手动模式
前端·rust