根据键名解析特定属性的值相关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");
相关推荐
尾善爱看海10 分钟前
不常用的浏览器 API —— Web Speech
前端
情缘晓梦.13 分钟前
C语言指针进阶
java·开发语言·算法
美酒没故事°1 小时前
vue3拖拽+粘贴的综合上传器
前端·javascript·typescript
南知意-2 小时前
IDEA 2025.3 版本安装指南(完整图文教程)
java·intellij-idea·开发工具·idea安装
北邮刘老师2 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
XRJ040618xrj2 小时前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
jingling5552 小时前
css进阶 | 实现罐子中的水流搅拌效果
前端·css
空中楼阁,梦幻泡影2 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
码农水水2 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php
海边的Kurisu2 小时前
苍穹外卖日记 | Day4 套餐模块
java·苍穹外卖