libfdt: Add more documentation (patch the sixth)
This patch adds some more documenting comments to libfdt.h. Specifically this documents all the write-in-place functions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
b60af3d4c1
commit
9d4450b5ad
104
include/libfdt.h
104
include/libfdt.h
|
@ -655,8 +655,65 @@ int fdt_node_offset_by_compatible(const void *fdt, int startoffset,
|
||||||
/* Write-in-place functions */
|
/* Write-in-place functions */
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fdt_setprop_inplace - change a property's value, but not its size
|
||||||
|
* @fdt: pointer to the device tree blob
|
||||||
|
* @nodeoffset: offset of the node whose property to change
|
||||||
|
* @name: name of the property to change
|
||||||
|
* @val: pointer to data to replace the property value with
|
||||||
|
* @len: length of the property value
|
||||||
|
*
|
||||||
|
* fdt_setprop_inplace() replaces the value of a given property with
|
||||||
|
* the data in val, of length len. This function cannot change the
|
||||||
|
* size of a property, and so will only work if len is equal to the
|
||||||
|
* current length of the property.
|
||||||
|
*
|
||||||
|
* This function will alter only the bytes in the blob which contain
|
||||||
|
* the given property value, and will not alter or move any other part
|
||||||
|
* of the tree.
|
||||||
|
*
|
||||||
|
* returns:
|
||||||
|
* 0, on success
|
||||||
|
* -FDT_ERR_NOSPACE, if len is not equal to the property's current length
|
||||||
|
* -FDT_ERR_NOTFOUND, node does not have the named property
|
||||||
|
* -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
|
||||||
|
* -FDT_ERR_BADMAGIC,
|
||||||
|
* -FDT_ERR_BADVERSION,
|
||||||
|
* -FDT_ERR_BADSTATE,
|
||||||
|
* -FDT_ERR_BADSTRUCTURE,
|
||||||
|
* -FDT_ERR_TRUNCATED, standard meanings
|
||||||
|
*/
|
||||||
int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name,
|
int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name,
|
||||||
const void *val, int len);
|
const void *val, int len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fdt_setprop_inplace_cell - change the value of a single-cell property
|
||||||
|
* @fdt: pointer to the device tree blob
|
||||||
|
* @nodeoffset: offset of the node whose property to change
|
||||||
|
* @name: name of the property to change
|
||||||
|
* @val: cell (32-bit integer) value to replace the property with
|
||||||
|
*
|
||||||
|
* fdt_setprop_inplace_cell() replaces the value of a given property
|
||||||
|
* with the 32-bit integer cell value in val, converting val to
|
||||||
|
* big-endian if necessary. This function cannot change the size of a
|
||||||
|
* property, and so will only work if the property already exists and
|
||||||
|
* has length 4.
|
||||||
|
*
|
||||||
|
* This function will alter only the bytes in the blob which contain
|
||||||
|
* the given property value, and will not alter or move any other part
|
||||||
|
* of the tree.
|
||||||
|
*
|
||||||
|
* returns:
|
||||||
|
* 0, on success
|
||||||
|
* -FDT_ERR_NOSPACE, if the property's length is not equal to 4
|
||||||
|
* -FDT_ERR_NOTFOUND, node does not have the named property
|
||||||
|
* -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
|
||||||
|
* -FDT_ERR_BADMAGIC,
|
||||||
|
* -FDT_ERR_BADVERSION,
|
||||||
|
* -FDT_ERR_BADSTATE,
|
||||||
|
* -FDT_ERR_BADSTRUCTURE,
|
||||||
|
* -FDT_ERR_TRUNCATED, standard meanings
|
||||||
|
*/
|
||||||
static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset,
|
static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset,
|
||||||
const char *name, uint32_t val)
|
const char *name, uint32_t val)
|
||||||
{
|
{
|
||||||
|
@ -664,7 +721,54 @@ static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset,
|
||||||
return fdt_setprop_inplace(fdt, nodeoffset, name, &val, sizeof(val));
|
return fdt_setprop_inplace(fdt, nodeoffset, name, &val, sizeof(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fdt_nop_property - replace a property with nop tags
|
||||||
|
* @fdt: pointer to the device tree blob
|
||||||
|
* @nodeoffset: offset of the node whose property to nop
|
||||||
|
* @name: name of the property to nop
|
||||||
|
*
|
||||||
|
* fdt_nop_property() will replace a given property's representation
|
||||||
|
* in the blob with FDT_NOP tags, effectively removing it from the
|
||||||
|
* tree.
|
||||||
|
*
|
||||||
|
* This function will alter only the bytes in the blob which contain
|
||||||
|
* the property, and will not alter or move any other part of the
|
||||||
|
* tree.
|
||||||
|
*
|
||||||
|
* returns:
|
||||||
|
* 0, on success
|
||||||
|
* -FDT_ERR_NOTFOUND, node does not have the named property
|
||||||
|
* -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
|
||||||
|
* -FDT_ERR_BADMAGIC,
|
||||||
|
* -FDT_ERR_BADVERSION,
|
||||||
|
* -FDT_ERR_BADSTATE,
|
||||||
|
* -FDT_ERR_BADSTRUCTURE,
|
||||||
|
* -FDT_ERR_TRUNCATED, standard meanings
|
||||||
|
*/
|
||||||
int fdt_nop_property(void *fdt, int nodeoffset, const char *name);
|
int fdt_nop_property(void *fdt, int nodeoffset, const char *name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fdt_nop_node - replace a node (subtree) with nop tags
|
||||||
|
* @fdt: pointer to the device tree blob
|
||||||
|
* @nodeoffset: offset of the node to nop
|
||||||
|
*
|
||||||
|
* fdt_nop_node() will replace a given node's representation in the
|
||||||
|
* blob, including all its subnodes, if any, with FDT_NOP tags,
|
||||||
|
* effectively removing it from the tree.
|
||||||
|
*
|
||||||
|
* This function will alter only the bytes in the blob which contain
|
||||||
|
* the node and its properties and subnodes, and will not alter or
|
||||||
|
* move any other part of the tree.
|
||||||
|
*
|
||||||
|
* returns:
|
||||||
|
* 0, on success
|
||||||
|
* -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE tag
|
||||||
|
* -FDT_ERR_BADMAGIC,
|
||||||
|
* -FDT_ERR_BADVERSION,
|
||||||
|
* -FDT_ERR_BADSTATE,
|
||||||
|
* -FDT_ERR_BADSTRUCTURE,
|
||||||
|
* -FDT_ERR_TRUNCATED, standard meanings
|
||||||
|
*/
|
||||||
int fdt_nop_node(void *fdt, int nodeoffset);
|
int fdt_nop_node(void *fdt, int nodeoffset);
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue