SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Macros | Functions
fdt_rw.c File Reference
#include "libfdt_env.h"
#include <fdt.h>
#include <libfdt.h>
#include "libfdt_internal.h"
Include dependency graph for fdt_rw.c:

Macros

#define FDT_RW_PROBE(fdt)
 

Functions

static int fdt_blocks_misordered_ (const void *fdt, int mem_rsv_size, int struct_size)
 
static int fdt_rw_probe_ (void *fdt)
 
static unsigned int fdt_data_size_ (void *fdt)
 
static int fdt_splice_ (void *fdt, void *splicepoint, int oldlen, int newlen)
 
static int fdt_splice_mem_rsv_ (void *fdt, struct fdt_reserve_entry *p, int oldn, int newn)
 
static int fdt_splice_struct_ (void *fdt, void *p, int oldlen, int newlen)
 
static void fdt_del_last_string_ (void *fdt, const char *s)
 
static int fdt_splice_string_ (void *fdt, int newlen)
 
static int fdt_find_add_string_ (void *fdt, const char *s, int *allocated)
 fdt_find_add_string_() - Find or allocate a string
 
int fdt_add_mem_rsv (void *fdt, uint64_t address, uint64_t size)
 fdt_add_mem_rsv - add one memory reserve map entry @fdt: pointer to the device tree blob @address: 64-bit start address of the reserve map entry @size: 64-bit size of the reserved region
 
int fdt_del_mem_rsv (void *fdt, int n)
 fdt_del_mem_rsv - remove a memory reserve map entry @fdt: pointer to the device tree blob
: entry to remove
 
static int fdt_resize_property_ (void *fdt, int nodeoffset, const char *name, int len, struct fdt_property **prop)
 
static int fdt_add_property_ (void *fdt, int nodeoffset, const char *name, int len, struct fdt_property **prop)
 
int fdt_set_name (void *fdt, int nodeoffset, const char *name)
 
int fdt_setprop_placeholder (void *fdt, int nodeoffset, const char *name, int len, void **prop_data)
 
int fdt_setprop (void *fdt, int nodeoffset, const char *name, const void *val, int len)
 
int fdt_appendprop (void *fdt, int nodeoffset, const char *name, const void *val, int len)
 
int fdt_delprop (void *fdt, int nodeoffset, const char *name)
 
int fdt_add_subnode_namelen (void *fdt, int parentoffset, const char *name, int namelen)
 
int fdt_add_subnode (void *fdt, int parentoffset, const char *name)
 
int fdt_del_node (void *fdt, int nodeoffset)
 fdt_del_node - delete a node (subtree) @fdt: pointer to the device tree blob @nodeoffset: offset of the node to nop
 
static void fdt_packblocks_ (const char *old, char *new, int mem_rsv_size, int struct_size, int strings_size)
 
int fdt_open_into (const void *fdt, void *buf, int bufsize)
 
int fdt_pack (void *fdt)
 

Macro Definition Documentation

◆ FDT_RW_PROBE

#define FDT_RW_PROBE (   fdt)
Value:
{ \
int err_; \
if ((err_ = fdt_rw_probe_(fdt)) != 0) \
return err_; \
}
static int fdt_rw_probe_(void *fdt)
Definition fdt_rw.c:18

Function Documentation

◆ fdt_add_mem_rsv()

int fdt_add_mem_rsv ( void *  fdt,
uint64_t  address,
uint64_t  size 
)

fdt_add_mem_rsv - add one memory reserve map entry @fdt: pointer to the device tree blob @address: 64-bit start address of the reserve map entry @size: 64-bit size of the reserved region

Adds a reserve map entry to the given blob reserving a region at address address of length size.

This function will insert data into the reserve map and will therefore change the indexes of some entries in the table.

returns: 0, on success -FDT_ERR_NOSPACE, there is insufficient free space in the blob to contain the new reservation entry -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_BADSTRUCTURE, -FDT_ERR_BADLAYOUT, -FDT_ERR_TRUNCATED, standard meanings

◆ fdt_add_property_()

static int fdt_add_property_ ( void *  fdt,
int  nodeoffset,
const char *  name,
int  len,
struct fdt_property **  prop 
)
static

◆ fdt_add_subnode()

int fdt_add_subnode ( void *  fdt,
int  parentoffset,
const char *  name 
)

◆ fdt_add_subnode_namelen()

int fdt_add_subnode_namelen ( void *  fdt,
int  parentoffset,
const char *  name,
int  namelen 
)

◆ fdt_appendprop()

int fdt_appendprop ( void *  fdt,
int  nodeoffset,
const char *  name,
const void *  val,
int  len 
)

◆ fdt_blocks_misordered_()

static int fdt_blocks_misordered_ ( const void *  fdt,
int  mem_rsv_size,
int  struct_size 
)
static

◆ fdt_data_size_()

static unsigned int fdt_data_size_ ( void *  fdt)
inlinestatic

◆ fdt_del_last_string_()

static void fdt_del_last_string_ ( void *  fdt,
const char *  s 
)
static

◆ fdt_del_mem_rsv()

int fdt_del_mem_rsv ( void *  fdt,
int  n 
)

fdt_del_mem_rsv - remove a memory reserve map entry @fdt: pointer to the device tree blob
: entry to remove

fdt_del_mem_rsv() removes the n-th memory reserve map entry from the blob.

This function will delete data from the reservation table and will therefore change the indexes of some entries in the table.

returns: 0, on success -FDT_ERR_NOTFOUND, there is no entry of the given index (i.e. there are less than n+1 reserve map entries) -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_BADSTRUCTURE, -FDT_ERR_BADLAYOUT, -FDT_ERR_TRUNCATED, standard meanings

◆ fdt_del_node()

int fdt_del_node ( void *  fdt,
int  nodeoffset 
)

fdt_del_node - delete a node (subtree) @fdt: pointer to the device tree blob @nodeoffset: offset of the node to nop

fdt_del_node() will remove the given node, including all its subnodes if any, from the blob.

This function will delete data from the blob, and will therefore change the offsets of some existing nodes.

returns: 0, on success -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_TRUNCATED, standard meanings

◆ fdt_delprop()

int fdt_delprop ( void *  fdt,
int  nodeoffset,
const char *  name 
)

◆ fdt_find_add_string_()

static int fdt_find_add_string_ ( void *  fdt,
const char *  s,
int *  allocated 
)
static

fdt_find_add_string_() - Find or allocate a string

@fdt: pointer to the device tree to check/adjust @s: string to find/add @allocated: Set to 0 if the string was found, 1 if not found and so allocated. Ignored if can_assume(NO_ROLLBACK)

Returns
offset of string in the string table (whether found or added)

◆ fdt_open_into()

int fdt_open_into ( const void *  fdt,
void *  buf,
int  bufsize 
)

◆ fdt_pack()

int fdt_pack ( void *  fdt)

◆ fdt_packblocks_()

static void fdt_packblocks_ ( const char *  old,
char *  new,
int  mem_rsv_size,
int  struct_size,
int  strings_size 
)
static

◆ fdt_resize_property_()

static int fdt_resize_property_ ( void *  fdt,
int  nodeoffset,
const char *  name,
int  len,
struct fdt_property **  prop 
)
static

◆ fdt_rw_probe_()

static int fdt_rw_probe_ ( void *  fdt)
static

◆ fdt_set_name()

int fdt_set_name ( void *  fdt,
int  nodeoffset,
const char *  name 
)

◆ fdt_setprop()

int fdt_setprop ( void *  fdt,
int  nodeoffset,
const char *  name,
const void *  val,
int  len 
)

◆ fdt_setprop_placeholder()

int fdt_setprop_placeholder ( void *  fdt,
int  nodeoffset,
const char *  name,
int  len,
void **  prop_data 
)

◆ fdt_splice_()

static int fdt_splice_ ( void *  fdt,
void *  splicepoint,
int  oldlen,
int  newlen 
)
static

◆ fdt_splice_mem_rsv_()

static int fdt_splice_mem_rsv_ ( void *  fdt,
struct fdt_reserve_entry p,
int  oldn,
int  newn 
)
static

◆ fdt_splice_string_()

static int fdt_splice_string_ ( void *  fdt,
int  newlen 
)
static

◆ fdt_splice_struct_()

static int fdt_splice_struct_ ( void *  fdt,
void *  p,
int  oldlen,
int  newlen 
)
static