当前位置: 首页 > article >正文

驱动获取设备树节点信息

mycdev.c

#include <linux/init.h>
#include <linux/module.h>
#include <linux/of.h>

struct device_node *dnode; //解析得到的设备树节点对象指针
struct property *pr;
unsigned int lenth;
static int __init mycdev_init(void)
{
    //解析设备树节点信息
    dnode = of_find_node_by_name(NULL,"mynode");
    if(dnode == NULL)
    {
        printk("解析设备树节点失败\n");
        return -ENXIO;
    }
    //解析uint属性
    pr = of_find_property(dnode,"unit",&lenth);
    if(pr == NULL)
    {
        printk("属性解析失败\n");
        return -ENXIO;
    }
    printk("name=%s,value %x,%x\n",pr->name,__be32_to_cpup((u32 *)pr->value),__be32_to_cpup((u32 *)pr->value+1));
    pr = of_find_property(dnode,"binarry",&lenth);
    if(pr == NULL)
    {
        printk("属性解析失败\n");
        return -ENXIO;
    }
    int i;
    for(i=0;i<lenth;i++)
    {
        printk("name=%s,value=%x\n",pr->name,*((u8 *)pr->value+i));
    }
    return 0;
}
static void __exit mycdev_exit(void)
{


}
module_init(mycdev_init);
module_exit(mycdev_exit);
MODULE_LICENSE("GPL");


http://www.kler.cn/a/105092.html

相关文章:

  • YModem协议总结
  • .obj模型文件(带材质和纹理)合并的基本思路
  • Unsatisfied dependency expressed through bean property ‘sqlSessionTemplate‘;
  • OpenCV视频车流量识别详解与实践
  • 服务容错框架Sentinel入门
  • PyTorch JIT和TorchScript,一个API提升推理性能50%
  • 13 结构性模式-装饰器模式
  • AGENS算法c++实现
  • Windows客户端下pycharm配置跳板机连接内网服务器
  • Oracle通过透明网关查询SQL Server 报错ORA-00904
  • Nginx安装配置项目部署然后加SSL
  • ORACLE表空间说明及操作
  • Java基础总结
  • 第12章 PyTorch图像分割代码框架-1
  • 宝塔Python3.7安装模块报错ModuleNotFoundError: No module named ‘Crypto‘解决办法
  • Java即时通讯源码 IM即时通讯系统源码
  • 【组合计数】CF1866 H
  • 【Qt之QtConcurrent】描述及使用
  • 【2024秋招】2023-10-9 同花顺后端笔试题
  • ubuntu下Docker的简单使用并利用主机显示