]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
of: unittest: Add a test case for of_find_node_opts_by_path() with alias+path+options
authorZijun Hu <quic_zijuhu@quicinc.com>
Mon, 16 Dec 2024 00:40:41 +0000 (08:40 +0800)
committerRob Herring (Arm) <robh@kernel.org>
Mon, 16 Dec 2024 21:34:24 +0000 (15:34 -0600)
To test of_find_node_opts_by_path() take @path argument with pattern:

"alias-name/node-name-1/.../node-name-N:options", for example:
"testcase-alias/phandle-tests/consumer-a:testaliasoption"

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20241216-of_core_fix-v2-2-e69b8f60da63@quicinc.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
drivers/of/unittest.c

index daf9a2dddd7e0dbc680f708496b6dce6d23999cf..ed343509505f536436f8457bd200ccc323acffdf 100644 (file)
@@ -161,6 +161,15 @@ static void __init of_unittest_find_node_by_name(void)
                 "option alias path test, subcase #1 failed\n");
        of_node_put(np);
 
+       np = of_find_node_opts_by_path("testcase-alias/phandle-tests/consumer-a:testaliasoption",
+                                      &options);
+       name = kasprintf(GFP_KERNEL, "%pOF", np);
+       unittest(np && name && !strcmp("/testcase-data/phandle-tests/consumer-a", name) &&
+                !strcmp("testaliasoption", options),
+                "option alias path test, subcase #2 failed\n");
+       of_node_put(np);
+       kfree(name);
+
        np = of_find_node_opts_by_path("testcase-alias:testaliasoption", NULL);
        unittest(np, "NULL option alias path test failed\n");
        of_node_put(np);