On 20 March 2018 at 08:56, Andy Yan <andy....@rock-chips.com> wrote: > Hi Simon: > > > > On 2018年03月20日 01:58, Simon Glass wrote: >> >> 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() ? > > > dm_scan_fdt_live only called in root.c, and the caller use > if(of_live_active) as a check, so I think we can remove the #if > >> >> If not, then what you have now is OK. >>
Applied to u-boot-dm, thanks! _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot