diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2020-02-18 15:43:46 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2020-04-16 08:07:57 -0600 |
commit | 0544ecbfe92e909dd8ac6795d4399a65d6727d9b (patch) | |
tree | d837720790d5c05e62b57966a5576c0f543c6987 /test/dm | |
parent | 67817b3b7a885b86b02b222675e0e29b1a2f25bf (diff) | |
download | u-boot-0544ecbfe92e909dd8ac6795d4399a65d6727d9b.zip u-boot-0544ecbfe92e909dd8ac6795d4399a65d6727d9b.tar.gz u-boot-0544ecbfe92e909dd8ac6795d4399a65d6727d9b.tar.bz2 |
dm: core: Move "/chosen" and "/firmware" node scan
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>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test/dm')
-rw-r--r-- | test/dm/test-fdt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index 75ae080..3500ab1 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -255,7 +255,7 @@ static int dm_test_fdt(struct unit_test_state *uts) int ret; int i; - ret = dm_scan_fdt(gd->fdt_blob, false); + ret = dm_extended_scan_fdt(gd->fdt_blob, false); ut_assert(!ret); ret = uclass_get(UCLASS_TEST_FDT, &uc); |