3 7核心中裝置樹的操作函式

2021-09-29 17:40:32 字數 880 閱讀 9167

include/linux/目錄下有很多of開頭的標頭檔案:

dtb -> device_node -> platform_device

核心中開放出來的介面函式的宣告大多在include/linux/下面,關於裝置樹的都是以of***.h形式命名

這裡介紹一下各個標頭檔案中是關於那些的函式

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_mdi

核心中的操作函式前面的點

linux核心結構體的使用指定初始化 點運算子 這種方式稱為指定初始化 designated initializer 如,usr src linux 2.6.32.5 drivers usb usb skeleton.c static struct usb driver usb storage dr...

Linux核心中的seq操作

1.前言 在fs seq file.c中定義了關於seq操作的一系列順序讀取的函式,這些函式最早是在2001年就引入了,但以前核心中一直用得不多,而到了2.6核心後,許多 proc的唯讀檔案中大量使用了seq函式處理。以下核心原始碼版本為2.6.17.11。2.seq相關資料結構 2.1 seq檔案...

Linux核心中的cmpxchg函式

前幾天,為了這個函式花了好多時間,由於參考的資料有誤,一直都沒有看明白,直到google之後,總算搞明白了,因此寫出來大家分享一下。在linux核心中,提供了比較並交換的函式cmpxchg,在include asm i386 cmpxchg.h中,函式的原型是 全選cmpxchg void ptr,...