fdt: Add a function to get the node offset of an alias
This simple function returns the node offset of a named alias. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c910e2e2da
commit
3234aa4bab
|
@ -363,6 +363,17 @@ int fdtdec_add_aliases_for_id(const void *blob, const char *name,
|
|||
int fdtdec_get_alias_seq(const void *blob, const char *base, int node,
|
||||
int *seqp);
|
||||
|
||||
/**
|
||||
* Get the offset of the given alias node
|
||||
*
|
||||
* This looks up an alias in /aliases then finds the offset of that node.
|
||||
*
|
||||
* @param blob Device tree blob (if NULL, then error is returned)
|
||||
* @param name Alias name, e.g. "console"
|
||||
* @return Node offset referred to by that alias, or -ve FDT_ERR_...
|
||||
*/
|
||||
int fdtdec_get_alias_node(const void *blob, const char *name);
|
||||
|
||||
/*
|
||||
* Get the name for a compatible ID
|
||||
*
|
||||
|
|
15
lib/fdtdec.c
15
lib/fdtdec.c
|
@ -365,6 +365,21 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int offset,
|
|||
return -ENOENT;
|
||||
}
|
||||
|
||||
int fdtdec_get_alias_node(const void *blob, const char *name)
|
||||
{
|
||||
const char *prop;
|
||||
int alias_node;
|
||||
int len;
|
||||
|
||||
if (!blob)
|
||||
return -FDT_ERR_NOTFOUND;
|
||||
alias_node = fdt_path_offset(blob, "/aliases");
|
||||
prop = fdt_getprop(blob, alias_node, name, &len);
|
||||
if (!prop)
|
||||
return -FDT_ERR_NOTFOUND;
|
||||
return fdt_path_offset(blob, prop);
|
||||
}
|
||||
|
||||
int fdtdec_check_fdt(void)
|
||||
{
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue