libfdt: Documentation (patch the second)
Add documentation for another handful of libfdt functions to libfdt.h Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
cec0c384ef
commit
57f99b7b3f
1 changed files with 79 additions and 1 deletions
|
@ -237,13 +237,91 @@ int fdt_num_mem_rsv(const void *fdt);
|
|||
*/
|
||||
int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size);
|
||||
|
||||
/**
|
||||
* fdt_subnode_offset_namelen - find a subnode based on substring
|
||||
* @fdt: pointer to the device tree blob
|
||||
* @parentoffset: structure block offset of a node
|
||||
* @name: name of the subnode to locate
|
||||
* @namelen: number of characters of name to consider
|
||||
*
|
||||
* Identical to fdt_subnode_offset(), but only examine the first
|
||||
* namelen characters of name for matching the subnode name. This is
|
||||
* useful for finding subnodes based on a portion of a larger string,
|
||||
* such as a full path.
|
||||
*/
|
||||
int fdt_subnode_offset_namelen(const void *fdt, int parentoffset,
|
||||
const char *name, int namelen);
|
||||
/**
|
||||
* fdt_subnode_offset - find a subnode of a given node
|
||||
* @fdt: pointer to the device tree blob
|
||||
* @parentoffset: structure block offset of a node
|
||||
* @name: name of the subnode to locate
|
||||
*
|
||||
* fdt_subnode_offset() finds a subnode of the node at structure block
|
||||
* offset parentoffset with the given name. name may include a unit
|
||||
* address, in which case fdt_subnode_offset() will find the subnode
|
||||
* with that unit address, or the unit address may be omitted, in
|
||||
* which case fdt_subnode_offset() will find an arbitrary subnode
|
||||
* whose name excluding unit address matches the given name.
|
||||
*
|
||||
* returns:
|
||||
* structure block offset of the requested subnode (>=0), on success
|
||||
* -FDT_ERR_NOTFOUND, if the requested subnode does not exist
|
||||
* -FDT_ERR_BADOFFSET, if parentoffset did not point to an FDT_BEGIN_NODE tag
|
||||
* -FDT_ERR_BADMAGIC,
|
||||
* -FDT_ERR_BADVERSION,
|
||||
* -FDT_ERR_BADSTATE,
|
||||
* -FDT_ERR_BADSTRUCTURE,
|
||||
* -FDT_ERR_TRUNCATED, standard meanings.
|
||||
*/
|
||||
int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name);
|
||||
|
||||
/**
|
||||
* fdt_path_offset - find a tree node by its full path
|
||||
* @fdt: pointer to the device tree blob
|
||||
* @path: full path of the node to locate
|
||||
*
|
||||
* fdt_path_offset() finds a node of a given path in the device tree.
|
||||
* Each path component may omit the unit address portion, but the
|
||||
* results of this are undefined if any such path component is
|
||||
* ambiguous (that is if there are multiple nodes at the relevant
|
||||
* level matching the given component, differentiated only by unit
|
||||
* address).
|
||||
*
|
||||
* returns:
|
||||
* structure block offset of the node with the requested path (>=0), on success
|
||||
* -FDT_ERR_BADPATH, given path does not begin with '/' or is invalid
|
||||
* -FDT_ERR_NOTFOUND, if the requested node does not exist
|
||||
* -FDT_ERR_BADMAGIC,
|
||||
* -FDT_ERR_BADVERSION,
|
||||
* -FDT_ERR_BADSTATE,
|
||||
* -FDT_ERR_BADSTRUCTURE,
|
||||
* -FDT_ERR_TRUNCATED, standard meanings.
|
||||
*/
|
||||
int fdt_path_offset(const void *fdt, const char *path);
|
||||
|
||||
const char *fdt_get_name(const void *fdt, int nodeoffset, int *baselen);
|
||||
/**
|
||||
* fdt_get_name - retreive the name of a given node
|
||||
* @fdt: pointer to the device tree blob
|
||||
* @nodeoffset: structure block offset of the starting node
|
||||
* @len: pointer to an intger variable (will be overwritten) or NULL
|
||||
*
|
||||
* fdt_get_name() retrieves the name (including unit address) of the
|
||||
* device tree node at structure block offset nodeoffset. If len is
|
||||
* non-NULL, the length of this name is also returned, in the integer
|
||||
* pointed to by len.
|
||||
*
|
||||
* returns:
|
||||
* pointer to the node's name, on success
|
||||
* *len contains the length of that name (>=0)
|
||||
* NULL, on error
|
||||
* *len contains an error code (<0):
|
||||
* -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
|
||||
* -FDT_ERR_BADMAGIC,
|
||||
* -FDT_ERR_BADVERSION,
|
||||
* -FDT_ERR_BADSTATE, standard meanings
|
||||
*/
|
||||
const char *fdt_get_name(const void *fdt, int nodeoffset, int *len);
|
||||
|
||||
const struct fdt_property *fdt_get_property(const void *fdt, int nodeoffset,
|
||||
const char *name, int *lenp);
|
||||
|
|
Loading…
Reference in a new issue