參考大神的文章
https://blog.csdn.net/ds1130071727/article/details/94842409
以下按照執行順序依次介紹函數功能:
在static int treesum_init(void)函數中:
of_find_node_by_path:通過路徑和名稱,獲取設備樹路由器。
of_property_read_string:通過設備路由器和屬性名,獲取字符串數據。
of_property_count_strings:通過設備路由器和屬性名,獲取字符串數量。
of_property_read_string_index:通過設備路由器和屬性名,以及編號,獲取對應的字符串。
of_property_read_u32:通過設備路由器和屬性名,獲取u32數據。
of_property_read_u32_array:通過設備例程和屬性名,獲取u32數組。
of_property_read_u8_array:通過設備例程和屬性名,獲取u8數組。
of_get_child_by_name:通過路徑和名稱,獲取設備樹子路由器。
在static int treesum_probe(struct platform_device * pdev)函數中:
device_property_read_string:通過dev和屬性名,獲取字符串數據。
device_property_read_string_array:通過dev和屬性名,獲取字符串數組。
device_property_read_u32:通過dev和屬性名,獲取u32數據。
device_property_read_u32_array:通過dev和屬性名,獲取u32數組。
device_property_read_u8_array:通過dev和屬性名,獲取u8數組。
device_for_each_child_node:通過設備中斷,遍歷子中斷。
fwnode_property_read_string:通過fwnode_handle和屬性名,獲取字符串數據。
fwnode_property_read_string_array:通過fwnode_handle和屬性名,獲取字符串數組。
fwnode_property_read_u32_array:通過fwnode_handle和屬性名,u32數組。
以上函數原型分布在:“ include / linux / property.h”“ linux / gpio / consumer.h”
“ include / linux / of.h”頭文件中。