@ -1134,6 +1134,101 @@ static inline int fdt_setprop_cell(void *fdt, int nodeoffset, const char *name,
fdt_setprop ( ( fdt ) , ( nodeoffset ) , ( name ) , ( str ) , strlen ( str ) + 1 )
/**
* fdt_appendprop - append to or create a property
* @ fdt : pointer to the device tree blob
* @ nodeoffset : offset of the node whose property to change
* @ name : name of the property to append to
* @ val : pointer to data to append to the property value
* @ len : length of the data to append to the property value
*
* fdt_appendprop ( ) appends the value to the named property in the
* given node , creating the property if it does not already exist .
*
* This function may insert data into the blob , and will therefore
* change the offsets of some existing nodes .
*
* returns :
* 0 , on success
* - FDT_ERR_NOSPACE , there is insufficient free space in the blob to
* contain the new property value
* - FDT_ERR_BADOFFSET , nodeoffset did not point to FDT_BEGIN_NODE tag
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_BADMAGIC ,
* - FDT_ERR_BADVERSION ,
* - FDT_ERR_BADSTATE ,
* - FDT_ERR_BADSTRUCTURE ,
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_TRUNCATED , standard meanings
*/
int fdt_appendprop ( void * fdt , int nodeoffset , const char * name ,
const void * val , int len ) ;
/**
* fdt_appendprop_cell - append a single cell value to a 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 : 32 - bit integer value to append to the property ( native endian )
*
* fdt_appendprop_cell ( ) appends the given cell value ( converting to
* big - endian if necessary ) to the value of the named property in the
* given node , or creates a new property with that value if it does
* not already exist .
*
* This function may insert data into the blob , and will therefore
* change the offsets of some existing nodes .
*
* returns :
* 0 , on success
* - FDT_ERR_NOSPACE , there is insufficient free space in the blob to
* contain the new property value
* - FDT_ERR_BADOFFSET , nodeoffset did not point to FDT_BEGIN_NODE tag
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_BADMAGIC ,
* - FDT_ERR_BADVERSION ,
* - FDT_ERR_BADSTATE ,
* - FDT_ERR_BADSTRUCTURE ,
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_TRUNCATED , standard meanings
*/
static inline int fdt_appendprop_cell ( void * fdt , int nodeoffset ,
const char * name , uint32_t val )
{
val = cpu_to_fdt32 ( val ) ;
return fdt_appendprop ( fdt , nodeoffset , name , & val , sizeof ( val ) ) ;
}
/**
* fdt_appendprop_string - append a string to a property
* @ fdt : pointer to the device tree blob
* @ nodeoffset : offset of the node whose property to change
* @ name : name of the property to change
* @ str : string value to append to the property
*
* fdt_appendprop_string ( ) appends the given string to the value of
* the named property in the given node , or creates a new property
* with that value if it does not already exist .
*
* This function may insert data into the blob , and will therefore
* change the offsets of some existing nodes .
*
* returns :
* 0 , on success
* - FDT_ERR_NOSPACE , there is insufficient free space in the blob to
* contain the new property value
* - FDT_ERR_BADOFFSET , nodeoffset did not point to FDT_BEGIN_NODE tag
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_BADMAGIC ,
* - FDT_ERR_BADVERSION ,
* - FDT_ERR_BADSTATE ,
* - FDT_ERR_BADSTRUCTURE ,
* - FDT_ERR_BADLAYOUT ,
* - FDT_ERR_TRUNCATED , standard meanings
*/
# define fdt_appendprop_string(fdt, nodeoffset, name, str) \
fdt_appendprop ( ( fdt ) , ( nodeoffset ) , ( name ) , ( str ) , strlen ( str ) + 1 )
/**
* fdt_delprop - delete a property
* @ fdt : pointer to the device tree blob
* @ nodeoffset : offset of the node whose property to nop