函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:scripts\dtc\libfdt\fdt.c Create Date:2022-07-27 07:15:36
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:fdt_next_tag

函数原型:uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset)

返回类型:uint32_t

参数:

类型参数名称
const void *fdt
intstartoffset
int *nextoffset
130  offset等于startoffset
133  nextoffset等于负Error codes: codes for bad device tree blobs
134  tagp等于fdt_offset_ptr(fdt, offset, FDT_TAGSIZE)
135  如果非tagp则返回:FDT_END
137  tag等于fdt32_to_cpu( * tagp)
138  offset加等于FDT_TAGSIZE
140  nextoffset等于负FDT_ERR_BADVERSION: Given device tree has a version which* can't be handled by the requested operation. For* read-write functions, this may mean that fdt_open_into() is* required to convert the tree to the expected version.
142  :tag恒等于Start node: full name
144  循环
145  p等于fdt_offset_ptr(fdt, offset++, 1)
146 pp不等于'\0'循环
147  如果非p则返回:FDT_END
149  退出
151  :tag恒等于Property: name off,size, content
152  lenp等于fdt_offset_ptr(fdt, offset, lenp的长度)
153  如果非lenp则返回:FDT_END
156  offset加等于fdt_property的长度减FDT_TAGSIZEfdt32_to_cpu( * lenp)
158  如果fdt_version(fdt)小于0x10且fdt32_to_cpu( * lenp)大于等于8且offsetfdt32_to_cpu( * lenp)的差取模8不等于0则offset加等于4
161  退出
163  :tag恒等于FDT_END
164  :tag恒等于End node
165  :tag恒等于p
166  退出
168  默认
169  返回:FDT_END
172  如果非fdt_offset_ptr(fdt, startoffset, offset - startoffset)则返回:FDT_END
175  nextoffset等于FDT_TAGALIGN(offset)
176  返回:tag
调用者
名称描述
fdt_check_node_offset_
fdt_check_prop_offset_
fdt_next_node
nextprop_
fdt_check_full
fdt_add_subnode_namelen
fdt_open_into
fdt_finish