Hi Andy, On 10 March 2018 at 23:58, Andy Yan <andy....@rock-chips.com> wrote: > > Hi Simon: > > > > On 2018年03月09日 05:03, Simon Glass wrote: >> >> Hi Andy. >> >> On 28 February 2018 at 23:08, Andy Yan <andy....@rock-chips.com> wrote: >>> >>> dm_scan_fdt_node can't work when live dt is active, >>> we should use dm_scan_fdt_live instead. >>> >>> Signed-off-by: Andy Yan <andy....@rock-chips.com> >>> --- >>> >>> drivers/core/root.c | 16 +++++++++++----- >>> 1 file changed, 11 insertions(+), 5 deletions(-) >>> >> Reviewed-by: Simon Glass <s...@chromium.org> >> >> with change below >> >>> diff --git a/drivers/core/root.c b/drivers/core/root.c >>> index 36336b6..b437892 100644 >>> --- a/drivers/core/root.c >>> +++ b/drivers/core/root.c >>> @@ -333,7 +333,8 @@ static int dm_scan_fdt_node(struct udevice *parent, >>> const void *blob, >>> >>> int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only) >>> { >>> - int node, ret; >>> + int ret; >>> + ofnode node; >>> >>> ret = dm_scan_fdt(gd->fdt_blob, pre_reloc_only); >>> if (ret) { >>> @@ -342,13 +343,18 @@ int dm_extended_scan_fdt(const void *blob, bool >>> pre_reloc_only) >>> } >>> >>> /* bind fixed-clock */ >>> - node = ofnode_to_offset(ofnode_path("/clocks")); >>> + node = ofnode_path("/clocks"); >>> /* if no DT "clocks" node, no need to go further */ >>> - if (node < 0) >>> + if (!ofnode_valid(node)) >>> return ret; >>> >>> - ret = dm_scan_fdt_node(gd->dm_root, gd->fdt_blob, node, >>> - pre_reloc_only); >>> +#if CONFIG_IS_ENABLED(OF_LIVE) >> >> You should be able to drop this #if since of_live_active() takes care of it. > > > But I found function dm_scan_fdt_live is depends on #if > CONFIG_IS_ENABLE(OF_LIVE)
Yes, I wonder if that can be removed, if the above becomes an if() ? If not, then what you have now is OK. > >> >>> + 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) >>> debug("dm_scan_fdt_node() failed: %d\n", ret); >>> >>> -- >>> 2.7.4 Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot