mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
dm: fdt: Add a function to look up a chosen node
Within /chosen we may have a node which points to another node, similar to how /aliases works. Add a helper function to do this lookup. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
addf9513d0
commit
aac07d49d0
2 changed files with 27 additions and 0 deletions
|
@ -374,6 +374,18 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int node,
|
||||||
*/
|
*/
|
||||||
int fdtdec_get_alias_node(const void *blob, const char *name);
|
int fdtdec_get_alias_node(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.
|
||||||
|
*
|
||||||
|
* @param blob Device tree blob (if NULL, then error is returned)
|
||||||
|
* @param name Property name, e.g. "stdout-path"
|
||||||
|
* @return Node offset referred to by that chosen node, or -ve FDT_ERR_...
|
||||||
|
*/
|
||||||
|
int fdtdec_get_chosen_node(const void *blob, const char *name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the name for a compatible ID
|
* Get the name for a compatible ID
|
||||||
*
|
*
|
||||||
|
|
15
lib/fdtdec.c
15
lib/fdtdec.c
|
@ -380,6 +380,21 @@ int fdtdec_get_alias_node(const void *blob, const char *name)
|
||||||
return fdt_path_offset(blob, prop);
|
return fdt_path_offset(blob, prop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int fdtdec_get_chosen_node(const void *blob, const char *name)
|
||||||
|
{
|
||||||
|
const char *prop;
|
||||||
|
int chosen_node;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
if (!blob)
|
||||||
|
return -FDT_ERR_NOTFOUND;
|
||||||
|
chosen_node = fdt_path_offset(blob, "/chosen");
|
||||||
|
prop = fdt_getprop(blob, chosen_node, name, &len);
|
||||||
|
if (!prop)
|
||||||
|
return -FDT_ERR_NOTFOUND;
|
||||||
|
return fdt_path_offset(blob, prop);
|
||||||
|
}
|
||||||
|
|
||||||
int fdtdec_check_fdt(void)
|
int fdtdec_check_fdt(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue