在DeviceTree中需要匹配设备节点,才可以获取某一个节点的参数信息。

/**
 * of_find_compatible_node - 通过compatible属性查找指定节点
 * @from - 指向开始路径的节点,如果为NULL,则从根节点开始
 * @type - device_type设备类型,可以为NULL
 * @compat - 指向节点的compatible属性的值(字符串)的首地址
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_compatible_node(struct device_node *from,const char *type, const char *compat);
/* 例如:由根设备节点开始检索一个名为"mediatek,ACCEL_GYRO_INT1-eint"设备节点*/
 
irq_node = of_find_compatible_node(NULL, NULL, "mediatek,ACCEL_GYRO_INT1-eint");
 
还有一种方法:

/**
 * of_find_matching_node - 通过compatible属性查找指定节点
 * @from - 指向开始路径的节点,如果为NULL,则从根节点开始
 * @matches - 指向设备ID表,注意ID表必须以NULL结束
 * 范例:  const struct of_device_id mydemo_of_match[] = {
                { .compatible = "mediatek,mt6735-touch", },
                {}
            };      
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_matching_node(struct device_node *from,const struct of_device_id *matches);
 
相对于上一个函数接口,这个便于使用of_device_id,因为其实匹配设备的时候已经配置of_device_id了。
还有两种方法是按路径和节点名称去检索检点的函数接口
/**
 * of_find_node_by_path - 通过路径查找指定节点
 * @path - 带全路径的节点名,也可以是节点的别名
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_node_by_path(const char *path);
 
 
/**
 * of_find_node_by_name - 通过节点名查找指定节点
 * @from - 开始查找节点,如果为NULL,则从根节点开始
 * @name- 节点名
 *  成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_node_by_name(struct device_node *from,const char *name);

MTK6737平台匹配设备节点的方法相关推荐

  1. Linux加载DTS设备节点的过程(以高通8974平台为例)

    DTS是Device Tree Source的缩写,用来描述设备的硬件细节.在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码, ...

  2. 全志平台设备固件升级的方法

    全志平台设备固件升级的方法 1.安装全志设备烧写工具. Windows版本的烧写工具叫PhoneixSuit,Ubuntu版本的烧写工具叫LiveSuit. 该工具可到全志资源获取平台asource下 ...

  3. 全志平台Tina系统启动阶段改设备DTS的方法

    原文链接:https://bbs.aw-ol.com/topic/276 更多信息,欢迎来全志在线开发者社区看~ 在设备BSP调试的过程中,经常会出现需要修改DTS的情况,比如调试一个新的屏幕.传感器 ...

  4. VM平台添加设备时提示“无效的License组件”的解决方法

    VM平台添加设备时提示"无效的License组件"的解决方法 一般在添加设备时系统提示"无效的License组件"都是由于平台缺少对应的License组件导致的 ...

  5. linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...

    解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...

  6. linux设备和驱动注册,Linux驱动第五篇-----驱动注册和生成设备节点

    加载驱动的指令是:insmod xx.ko 查看驱动的指令是: lsmod 卸载驱动的指令是:rmmod xx 在include/linux/platform_device.h这个文件中定义了平台驱动 ...

  7. 【网站推荐】Solaris 平台编写设备驱动程序

    Documentation Home  > 编写设备驱动程序 Book Information 索引 前言 第 1 部分 针对 Solaris 平台设计设备驱动程序 第 1 章 Solaris ...

  8. 蚂蚁金服杨军:蚂蚁数据分析平台的演进及数据分析方法的应用

    导读: 大家好,今天主要分享数据分析平台的平台演进以及我们在上面沉淀的一些数据分析方法是如何应用的. 具体分以下四部分: Part1:主要介绍下我所在的部门,数据平台部主要是做什么的,大概涉及到哪些业 ...

  9. Linux I2C总线(二)I2C设备驱动编写方法

    Linux I2C总线 Linux I2C总线(一)I2C驱动框架 Linux I2C总线(二)I2C设备驱动编写方法 Linux I2C总线(二)I2C设备驱动编写方法 文章目录 Linux I2C ...

  10. linux使用DEVICE_ATTR创建设备节点(常用)

    DEVICE_ATTR是一个宏,其定义在include/linux/device.h文件: #define DEVICE_ATTR(_name, _mode, _show, _store) \ str ...

最新文章

  1. 点击UITableView的cell展开收缩
  2. 2021全国大学生智能汽车竞赛中小学组国赛获奖名单
  3. JAVA里面的int类型 和Integer类型,有什么不一样
  4. ProGit-读书简记
  5. 升级到VS.net 2008 sp1并安装卡巴斯基的兄弟们小心了
  6. 做个中国清官网,有人感兴趣吗
  7. 人工智能的未来是强化学习_多主体强化学习与AI的未来
  8. 仿360水波评分特效、加速球特效、水波动态加载动画、可改造成圆形进度条,很丝滑!
  9. 山东交通学院c语言程序设计,山东交通学院 c语言题库.doc
  10. [小工具] LenovoOneLite 多屏协同工具
  11. 八爪鱼抓取html,网页数据爬取方法详解 - 八爪鱼采集器
  12. 第五周 项目二 建立链栈算法库
  13. python中sklearn实现决策树及模型评估_Python sklearn决策树算法实践
  14. 往日学习=【iptables实验part3-搭建简单蜜罐网络】
  15. 解决SimpleWifi无法连接中文SSID(中文WIFI名称)问题的过程记录
  16. wps 根据单元格值 设置单元格所在行 颜色(大于0 行红色 小于0 行xx色)
  17. Linux磁盘I/O(二):使用vm.dirty_ratio和vm.dirty_background_ratio优化磁盘性能
  18. Python中字符串的一些操作
  19. DIV+CSS 网页兼容性问题(IE6 IE7 IE8 IE9 火狐 chorm)
  20. Foxmail登陆139邮箱

热门文章

  1. MediBangPaint Pro for mac(优秀漫画制作软件)
  2. 桌面运维之CMD命令
  3. python二级考试笔记_Python二级考试临时抱佛脚专用笔记——(一)数据表示与计算...
  4. 合作共赢,共同飞跃 | DDG一站式数字化转型集成解决方案正式发布
  5. WIN10找不到CMD命令提示符的简单解决办法
  6. 【hihocoder 1477】闰秒
  7. python xpath定位 麦客表单
  8. 定时器/计数器、中断
  9. win8计算机管理员权限删除文件,如何解决 win8系统管理员权限删除文件夹访问被拒绝(3页)-原创力文档...
  10. codeforces 417D Cunning Gena