Browse Source

fdt: Add a function to look up a /chosen property

It is sometimes useful to find a property in the chosen node. Add a function
for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
scm-imx_v2016.03_4.1.15_2.0.0_ga
Simon Glass 5 years ago
committed by Michal Simek
parent
commit
3bc37a50e0
2 changed files with 20 additions and 6 deletions
  1. +10
    -1
      include/fdtdec.h
  2. +10
    -5
      lib/fdtdec.c

+ 10
- 1
include/fdtdec.h View File

@ -628,7 +628,16 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int node,
int *seqp);
/**
* Get the offset of the given chosen node
* Get a property from the /chosen node
*
* @param blob Device tree blob (if NULL, then NULL is returned)
* @param name Property name to look up
* @return Value of property, or NULL if it does not exist
*/
const char *fdtdec_get_chosen_prop(const void *blob, const char *name);
/**
* Get the offset of the given /chosen node
*
* This looks up a property in /chosen containing the path to another node,
* then finds the offset of that node.


+ 10
- 5
lib/fdtdec.c View File

@ -601,16 +601,21 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int offset,
return -ENOENT;
}
int fdtdec_get_chosen_node(const void *blob, const char *name)
const char *fdtdec_get_chosen_prop(const void *blob, const char *name)
{
const char *prop;
int chosen_node;
int len;
if (!blob)
return -FDT_ERR_NOTFOUND;
return NULL;
chosen_node = fdt_path_offset(blob, "/chosen");
prop = fdt_getprop(blob, chosen_node, name, &len);
return fdt_getprop(blob, chosen_node, name, NULL);
}
int fdtdec_get_chosen_node(const void *blob, const char *name)
{
const char *prop;
prop = fdtdec_get_chosen_prop(blob, name);
if (!prop)
return -FDT_ERR_NOTFOUND;
return fdt_path_offset(blob, prop);


Loading…
Cancel
Save