At present DM tests assume that a devicetree is available. This is not the
case with of-platadata.

Update the code to add this condition.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 test/dm/test-main.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 995988723ae..5560572c7c6 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -30,7 +30,8 @@ static int dm_test_init(struct unit_test_state *uts, bool 
of_live)
 
        memset(dms, '\0', sizeof(*dms));
        gd->dm_root = NULL;
-       memset(dm_testdrv_op_count, '\0', sizeof(dm_testdrv_op_count));
+       if (!CONFIG_IS_ENABLED(OF_PLATDATA))
+               memset(dm_testdrv_op_count, '\0', sizeof(dm_testdrv_op_count));
        state_reset_for_test(state_get_current());
 
        /* Determine whether to make the live tree available */
@@ -91,7 +92,8 @@ static int dm_do_test(struct unit_test_state *uts, struct 
unit_test *test,
                ut_assertok(dm_scan_platdata(false));
        if (test->flags & UT_TESTF_PROBE_TEST)
                ut_assertok(do_autoprobe(uts));
-       if (test->flags & UT_TESTF_SCAN_FDT)
+       if (!CONFIG_IS_ENABLED(OF_PLATDATA) &&
+           (test->flags & UT_TESTF_SCAN_FDT))
                ut_assertok(dm_extended_scan_fdt(gd->fdt_blob, false));
 
        /*
@@ -136,14 +138,16 @@ static int dm_test_main(const char *test_name)
        uts->priv = &_global_priv_dm_test_state;
        uts->fail_count = 0;
 
-       /*
-        * If we have no device tree, or it only has a root node, then these
-        * tests clearly aren't going to work...
-        */
-       if (!gd->fdt_blob || fdt_next_node(gd->fdt_blob, 0, NULL) < 0) {
-               puts("Please run with test device tree:\n"
-                    "    ./u-boot -d arch/sandbox/dts/test.dtb\n");
-               ut_assert(gd->fdt_blob);
+       if (!CONFIG_IS_ENABLED(OF_PLATDATA)) {
+               /*
+                * If we have no device tree, or it only has a root node, then
+                * these * tests clearly aren't going to work...
+                */
+               if (!gd->fdt_blob || fdt_next_node(gd->fdt_blob, 0, NULL) < 0) {
+                       puts("Please run with test device tree:\n"
+                            "    ./u-boot -d arch/sandbox/dts/test.dtb\n");
+                       ut_assert(gd->fdt_blob);
+               }
        }
 
        if (!test_name)
@@ -192,7 +196,8 @@ static int dm_test_main(const char *test_name)
        gd->dm_root = NULL;
        ut_assertok(dm_init(CONFIG_IS_ENABLED(OF_LIVE)));
        dm_scan_platdata(false);
-       dm_scan_fdt(gd->fdt_blob, false);
+       if (!CONFIG_IS_ENABLED(OF_PLATDATA))
+               dm_scan_fdt(gd->fdt_blob, false);
 
        return uts->fail_count ? CMD_RET_FAILURE : 0;
 }
-- 
2.28.0.806.g8561365e88-goog

Reply via email to