mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-30 16:40:44 +09:00
dm: core: Move "/clock" node scan into function
Create separate function for scanning node by path and move "/clock" node scan code into that function. This will be usable if scanning of more node is required. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d2166319df
commit
68d215d907
@ -330,10 +330,25 @@ static int dm_scan_fdt_node(struct udevice *parent, const void *blob,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static int dm_scan_fdt_ofnode_path(const char *path, bool pre_reloc_only)
|
||||||
|
{
|
||||||
|
ofnode node;
|
||||||
|
|
||||||
|
node = ofnode_path(path);
|
||||||
|
if (!ofnode_valid(node))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
#if CONFIG_IS_ENABLED(OF_LIVE)
|
||||||
|
if (of_live_active())
|
||||||
|
return dm_scan_fdt_live(gd->dm_root, node.np, pre_reloc_only);
|
||||||
|
#endif
|
||||||
|
return dm_scan_fdt_node(gd->dm_root, gd->fdt_blob, node.of_offset,
|
||||||
|
pre_reloc_only);
|
||||||
|
}
|
||||||
|
|
||||||
int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
|
int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ofnode node;
|
|
||||||
|
|
||||||
ret = dm_scan_fdt(gd->fdt_blob, pre_reloc_only);
|
ret = dm_scan_fdt(gd->fdt_blob, pre_reloc_only);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
@ -341,21 +356,9 @@ int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bind fixed-clock */
|
ret = dm_scan_fdt_ofnode_path("/clocks", pre_reloc_only);
|
||||||
node = ofnode_path("/clocks");
|
|
||||||
/* if no DT "clocks" node, no need to go further */
|
|
||||||
if (!ofnode_valid(node))
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(OF_LIVE)
|
|
||||||
if (of_live_active())
|
|
||||||
ret = dm_scan_fdt_live(gd->dm_root, node.np, pre_reloc_only);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
ret = dm_scan_fdt_node(gd->dm_root, gd->fdt_blob, node.of_offset,
|
|
||||||
pre_reloc_only);
|
|
||||||
if (ret)
|
if (ret)
|
||||||
debug("dm_scan_fdt_node() failed: %d\n", ret);
|
debug("scan for /clocks failed: %d\n", ret);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user