spl: atf: traverse all "/fit-images" sub nodes
Fix find sub nodes failed. Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I2cb885028da9711a15f001fdd48e9d273cfd348a
This commit is contained in:
parent
038c1ecaa2
commit
69a04b4fa5
|
|
@ -119,7 +119,7 @@ void bl31_entry(uintptr_t bl31_entry, uintptr_t bl32_entry,
|
||||||
|
|
||||||
static int spl_fit_images_find(void *blob, int os)
|
static int spl_fit_images_find(void *blob, int os)
|
||||||
{
|
{
|
||||||
int parent, node, ndepth;
|
int parent, node;
|
||||||
const void *data;
|
const void *data;
|
||||||
|
|
||||||
if (!blob)
|
if (!blob)
|
||||||
|
|
@ -129,19 +129,14 @@ static int spl_fit_images_find(void *blob, int os)
|
||||||
if (parent < 0)
|
if (parent < 0)
|
||||||
return -FDT_ERR_NOTFOUND;
|
return -FDT_ERR_NOTFOUND;
|
||||||
|
|
||||||
for (node = fdt_next_node(blob, parent, &ndepth);
|
fdt_for_each_subnode(node, blob, parent) {
|
||||||
(node >= 0) && (ndepth > 0);
|
|
||||||
node = fdt_next_node(blob, node, &ndepth)) {
|
|
||||||
if (ndepth != 1)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
data = fdt_getprop(blob, node, FIT_OS_PROP, NULL);
|
data = fdt_getprop(blob, node, FIT_OS_PROP, NULL);
|
||||||
if (!data)
|
if (!data)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (genimg_get_os_id(data) == os)
|
if (genimg_get_os_id(data) == os)
|
||||||
return node;
|
return node;
|
||||||
};
|
}
|
||||||
|
|
||||||
return -FDT_ERR_NOTFOUND;
|
return -FDT_ERR_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue