zoukankan      html  css  js  c++  java
  • 内核中设备树的操作函数

    include/linux/目录下有很多of开头的头文件是与设备树相关的。

    在内核中设备树处理的一般过程为:.dts -> .dtb -> device_node -> platform_device

    a. 处理DTB
    of_fdt.h                            // dtb文件的相关操作函数, 我们一般用不到, 因为dtb文件在内核中已经被转换为device_node树(它更易于使用)

    b. 处理device_node
    of.h                                 // 提供设备树的一般处理函数, 比如 of_property_read_u32(读取某个属性的u32值), of_get_child_count(获取某个device_node的子节点数)
    of_address.h                  // 地址相关的函数, 比如 of_get_address(获得reg属性中的addr, size值)
    of_match_device(从matches数组中取出与当前设备最匹配的一项)
    of_dma.h                       // 设备树中DMA相关属性的函数
    of_gpio.h                        // GPIO相关的函数
    of_graph.h                      // GPU相关驱动中用到的函数, 从设备树中获得GPU信息
    of_iommu.h                    // 很少用到
    of_irq.h                          // 中断相关的函数
    of_mdio.h                       // MDIO (Ethernet PHY) API
    of_net.h                          // OF helpers for network devices.
    of_pci.h                           // PCI相关函数
    of_pdt.h                          // 很少用到
    of_reserved_mem.h       // reserved_mem的相关函数

    c. 处理 platform_device
    of_platform.h                // 把device_node转换为platform_device时用到的函数,
                                         // 比如of_device_alloc(根据device_node分配设置platform_device),
                                         // of_find_device_by_node (根据device_node查找到platform_device),
                                         // of_platform_bus_probe (处理device_node及它的子节点)
    of_device.h                  // 设备相关的函数, 比如 of_match_device

     

  • 相关阅读:
    修改oracle用户密码永不过期
    mysql中的union操作(整理)
    mysql条件查询and or使用实例及优先级介绍
    vue实现购物清单列表添加删除
    vue实现全选框效果
    vue实现穿梭框效果
    legend3---13、vue是真的好用
    黑马在线教育项目---34-37、webuploader实现用户头像的异步上传
    lareval重命名created_at和updated_at字段
    js的dom操作(整理)(转)
  • 原文地址:https://www.cnblogs.com/zhangshuaifeng/p/10013440.html
Copyright © 2011-2022 走看看