
On Tue, 18 Feb 2020 at 07:44, Patrick Delaunay patrick.delaunay@st.com wrote:
Use the new function dm_scan_fdt_ofnode_path() to scan all the nodes which aren't devices themselves but may contain some:
- "/chosen"
- "/clocks"
- "/firmware"
The patch removes the strcmp call in recursive function dm_scan_fdt_live() and also corrects a conflict with the 2 applied patches in the commit 1712ca21924b ("dm: core: Scan /firmware node by default") and in the commit 747558d01457 ("dm: fdt: scan for devices under /firmware too"): the subnodes of "/firmware" (optee for example) are bound 2 times.
For example the dm tree command result on STM32MP1 is:
STM32MP> dm tree Class Index Probed Driver Name
root 0 [ + ] root_driver root_driver firmware 0 [ ] psci |-- psci sysreset 0 [ ] psci-sysreset | `-- psci-sysreset simple_bus 0 [ + ] generic_simple_bus |-- soc ... tee 0 [ + ] optee |-- optee ... tee 1 [ ] optee `-- optee
Signed-off-by: Patrick Delaunay patrick.delaunay@st.com Tested-by: Michal Simek michal.simek@xilinx.com
Also reported here: https://lists.denx.de/pipermail/u-boot/2020-January/395427.html
Changes in v3:
- update test-fdt: use dm_extended_scan_fdt instead of dm_scan_fdt
Changes in v2:
- update commit message (Serie-cc => Series-cc)
drivers/core/root.c | 52 +++++++++++++++------------------------------ test/dm/test-fdt.c | 2 +- 2 files changed, 18 insertions(+), 36 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot-dm, thanks!