diff options
author | Simon Glass <sjg@chromium.org> | 2014-09-04 16:27:24 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-09-10 12:59:59 -0600 |
commit | aac07d49d00b4bc8ca3f4aca0f3ad26385fb1d37 (patch) | |
tree | 5fd5a26caa1150bad11fb2d06e27d3f5a219dbf7 /lib | |
parent | addf9513d0b1a57062a8604330e8c0e822d9d214 (diff) | |
download | u-boot-imx-aac07d49d00b4bc8ca3f4aca0f3ad26385fb1d37.zip u-boot-imx-aac07d49d00b4bc8ca3f4aca0f3ad26385fb1d37.tar.gz u-boot-imx-aac07d49d00b4bc8ca3f4aca0f3ad26385fb1d37.tar.bz2 |
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>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fdtdec.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index eb5aa20..2b08be2 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -380,6 +380,21 @@ int fdtdec_get_alias_node(const void *blob, const char *name) 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) { /* |