diff options
author | Andrew F. Davis | 2017-07-10 14:45:51 -0500 |
---|---|---|
committer | Tom Rini | 2017-07-22 22:22:44 -0400 |
commit | 137ae0c4b1c4da281a9c4f533242ed547f916578 (patch) | |
tree | eba1953160e652a35896df96ed63ef7e213ac2b2 /arch | |
parent | 03750231a84da904d6d2809a54d3147dee833f26 (diff) |
arm: mach-omap2: fdt-common: Add OP-TEE node when firmware node is defined
If a firmware node is already present in the FDT we will fail to create
one and so fail to add our OP-TEE node, make this fixup first check for
a firmware node and then only try to add one if it is not found.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/fdt-common.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/fdt-common.c b/arch/arm/mach-omap2/fdt-common.c index 297d4d4df5a..9297e9db487 100644 --- a/arch/arm/mach-omap2/fdt-common.c +++ b/arch/arm/mach-omap2/fdt-common.c @@ -134,14 +134,22 @@ int ft_hs_add_tee(void *fdt, bd_t *bd) if (!tee_loaded) return 0; - path = "/"; + path = "/firmware"; offs = fdt_path_offset(fdt, path); - - subpath = "firmware"; - offs = fdt_add_subnode(fdt, offs, subpath); if (offs < 0) { - printf("Could not create %s node.\n", subpath); - return 1; + path = "/"; + offs = fdt_path_offset(fdt, path); + if (offs < 0) { + printf("Could not find root node.\n"); + return 1; + } + + subpath = "firmware"; + offs = fdt_add_subnode(fdt, offs, subpath); + if (offs < 0) { + printf("Could not create %s node.\n", subpath); + return 1; + } } subpath = "optee"; |