diff options
author | Philipp Zabel <p.zabel@pengutronix.de> | 2016-12-08 11:15:51 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-01-09 13:41:12 +0100 |
commit | f49b415b92319bbc9fdee0fe06b62476f276811a (patch) | |
tree | a6aa653f1ada1d980e63f0ae2f1372b680648a51 /drivers/of | |
parent | ad43a6de3d47065aa3cd54eb31e37aa03681351f (diff) | |
download | barebox-f49b415b92319bbc9fdee0fe06b62476f276811a.tar.gz barebox-f49b415b92319bbc9fdee0fe06b62476f276811a.tar.xz |
of: base: add chosen node if it does not exist when adding initrd
If the chosen node does not exist, of_add_initrd fails to pass the
initrd to the kernel. Instead it should create the chosen node, just
like of_fixup_bootargs does.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/base.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 767d4e1e36..0c20fcd5c3 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -2019,9 +2019,9 @@ int of_add_initrd(struct device_node *root, resource_size_t start, struct device_node *chosen; __be32 buf[2]; - chosen = of_find_node_by_path_from(root, "/chosen"); + chosen = of_create_node(root, "/chosen"); if (!chosen) - return -EINVAL; + return -ENOMEM; if (end) { of_write_number(buf, start, 2); |