From f2006808f099465707c8a815dd1d0ec093f3449b Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 10 Jan 2018 11:33:30 +0100 Subject: dm: core: parse chosen node This is the node that would contain, for example, the framebuffer setup by an earlier stage. Signed-off-by: Rob Clark --- drivers/core/root.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'drivers/core/root.c') diff --git a/drivers/core/root.c b/drivers/core/root.c index 976e2c4fdd..36336b65b6 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -266,6 +266,17 @@ static int dm_scan_fdt_node(struct udevice *parent, const void *blob, for (offset = fdt_first_subnode(blob, offset); offset > 0; offset = fdt_next_subnode(blob, offset)) { + /* "chosen" node isn't a device itself but may contain some: */ + if (!strcmp(fdt_get_name(blob, offset, NULL), "chosen")) { + pr_debug("parsing subnodes of \"chosen\"\n"); + + err = dm_scan_fdt_node(parent, blob, offset, + pre_reloc_only); + if (err && !ret) + ret = err; + continue; + } + if (pre_reloc_only && !dm_fdt_pre_reloc(blob, offset)) continue; -- cgit v1.2.3