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,...