Lines Matching +full:enabled +full:- +full:strings

1 // SPDX-License-Identifier: GPL-2.0
6 #define pr_fmt(fmt) "### dt-test ### " fmt
10 #include <linux/dma-direct.h> /* to test phys_to_dma/dma_to_phys */
27 #include <linux/i2c-mux.h>
70 np = of_find_node_by_path("/testcase-data"); in of_unittest_find_node_by_name()
72 unittest(np && !strcmp("/testcase-data", name), in of_unittest_find_node_by_name()
73 "find /testcase-data failed\n"); in of_unittest_find_node_by_name()
78 np = of_find_node_by_path("/testcase-data/"); in of_unittest_find_node_by_name()
79 unittest(!np, "trailing '/' on /testcase-data/ should fail\n"); in of_unittest_find_node_by_name()
81 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a"); in of_unittest_find_node_by_name()
83 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", name), in of_unittest_find_node_by_name()
84 "find /testcase-data/phandle-tests/consumer-a failed\n"); in of_unittest_find_node_by_name()
88 np = of_find_node_by_path("testcase-alias"); in of_unittest_find_node_by_name()
90 unittest(np && !strcmp("/testcase-data", name), in of_unittest_find_node_by_name()
91 "find testcase-alias failed\n"); in of_unittest_find_node_by_name()
96 np = of_find_node_by_path("testcase-alias/"); in of_unittest_find_node_by_name()
97 unittest(!np, "trailing '/' on testcase-alias/ should fail\n"); in of_unittest_find_node_by_name()
99 np = of_find_node_by_path("testcase-alias/phandle-tests/consumer-a"); in of_unittest_find_node_by_name()
101 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", name), in of_unittest_find_node_by_name()
102 "find testcase-alias/phandle-tests/consumer-a failed\n"); in of_unittest_find_node_by_name()
106 np = of_find_node_by_path("/testcase-data/missing-path"); in of_unittest_find_node_by_name()
107 unittest(!np, "non-existent path returned node %pOF\n", np); in of_unittest_find_node_by_name()
110 np = of_find_node_by_path("missing-alias"); in of_unittest_find_node_by_name()
111 unittest(!np, "non-existent alias returned node %pOF\n", np); in of_unittest_find_node_by_name()
114 np = of_find_node_by_path("testcase-alias/missing-path"); in of_unittest_find_node_by_name()
115 unittest(!np, "non-existent alias with relative path returned node %pOF\n", np); in of_unittest_find_node_by_name()
118 np = of_find_node_opts_by_path("/testcase-data:testoption", &options); in of_unittest_find_node_by_name()
123 np = of_find_node_opts_by_path("/testcase-data:test/option", &options); in of_unittest_find_node_by_name()
128 np = of_find_node_opts_by_path("/testcase-data/testcase-device1:test/option", &options); in of_unittest_find_node_by_name()
133 np = of_find_node_opts_by_path("/testcase-data:testoption", NULL); in of_unittest_find_node_by_name()
137 np = of_find_node_opts_by_path("testcase-alias:testaliasoption", in of_unittest_find_node_by_name()
143 np = of_find_node_opts_by_path("testcase-alias:test/alias/option", in of_unittest_find_node_by_name()
149 np = of_find_node_opts_by_path("testcase-alias:testaliasoption", NULL); in of_unittest_find_node_by_name()
154 np = of_find_node_opts_by_path("testcase-alias", &options); in of_unittest_find_node_by_name()
169 np = of_find_node_by_path("/testcase-data"); in of_unittest_dynamic()
182 /* Add a new property - should pass*/ in of_unittest_dynamic()
183 prop->name = "new-property"; in of_unittest_dynamic()
184 prop->value = "new-property-data"; in of_unittest_dynamic()
185 prop->length = strlen(prop->value) + 1; in of_unittest_dynamic()
188 /* Try to add an existing property - should fail */ in of_unittest_dynamic()
190 prop->name = "new-property"; in of_unittest_dynamic()
191 prop->value = "new-property-data-should-fail"; in of_unittest_dynamic()
192 prop->length = strlen(prop->value) + 1; in of_unittest_dynamic()
196 /* Try to modify an existing property - should pass */ in of_unittest_dynamic()
197 prop->value = "modify-property-data-should-pass"; in of_unittest_dynamic()
198 prop->length = strlen(prop->value) + 1; in of_unittest_dynamic()
202 /* Try to modify non-existent property - should pass*/ in of_unittest_dynamic()
204 prop->name = "modify-property"; in of_unittest_dynamic()
205 prop->value = "modify-missing-property-data-should-pass"; in of_unittest_dynamic()
206 prop->length = strlen(prop->value) + 1; in of_unittest_dynamic()
210 /* Remove property - should pass */ in of_unittest_dynamic()
214 /* Adding very large property - should pass */ in of_unittest_dynamic()
216 prop->name = "large-property-PAGE_SIZEx8"; in of_unittest_dynamic()
217 prop->length = PAGE_SIZE * 8; in of_unittest_dynamic()
218 prop->value = kzalloc(prop->length, GFP_KERNEL); in of_unittest_dynamic()
219 unittest(prop->value != NULL, "Unable to allocate large buffer\n"); in of_unittest_dynamic()
220 if (prop->value) in of_unittest_dynamic()
231 if (child->parent != np) { in of_unittest_check_node_linkage()
234 rc = -EINVAL; in of_unittest_check_node_linkage()
283 size = snprintf(buf, buf_size - 2, fmt, np); in of_unittest_printf_one()
285 /* use strcmp() instead of strncmp() here to be absolutely sure strings match */ in of_unittest_printf_one()
292 for (i = 0; i < 2; i++, size--) { in of_unittest_printf_one()
306 const char *full_name = "/testcase-data/platform-tests/test-device@1/dev@100"; in of_unittest_printf()
315 num_to_str(phandle_str, sizeof(phandle_str), np->phandle, 0); in of_unittest_printf()
322 of_unittest_printf_one(np, "%pOFnc", "dev:test-sub-device"); in of_unittest_printf()
327 of_unittest_printf_one(np, "%-10pOFP", "dev@100 "); in of_unittest_printf()
329 of_unittest_printf_one(np, "%pOFF", "----"); in of_unittest_printf()
330 of_unittest_printf_one(np, "%pOFPF", "dev@100:----"); in of_unittest_printf()
331 of_unittest_printf_one(np, "%pOFPFPc", "dev@100:----:dev@100:test-sub-device"); in of_unittest_printf()
332 of_unittest_printf_one(np, "%pOFc", "test-sub-device"); in of_unittest_printf()
334 "\"test-sub-device\",\"test-compat2\",\"test-compat3\""); in of_unittest_printf()
351 if (!np->phandle) in of_unittest_check_phandles()
354 hash_for_each_possible(phandle_ht, nh, node, np->phandle) { in of_unittest_check_phandles()
355 if (nh->np->phandle == np->phandle) { in of_unittest_check_phandles()
357 np->phandle, nh->np, np); in of_unittest_check_phandles()
367 nh->np = np; in of_unittest_check_phandles()
368 hash_add(phandle_ht, &nh->node, np->phandle); in of_unittest_check_phandles()
376 hash_del(&nh->node); in of_unittest_check_phandles()
387 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a"); in of_unittest_parse_phandle_with_args()
393 rc = of_count_phandle_with_args(np, "phandle-list", "#phandle-cells"); in of_unittest_parse_phandle_with_args()
400 rc = of_parse_phandle_with_args(np, "phandle-list", in of_unittest_parse_phandle_with_args()
401 "#phandle-cells", i, &args); in of_unittest_parse_phandle_with_args()
403 /* Test the values from tests-phandle.dtsi */ in of_unittest_parse_phandle_with_args()
417 passed &= (rc == -ENOENT); in of_unittest_parse_phandle_with_args()
442 passed &= (rc == -ENOENT); in of_unittest_parse_phandle_with_args()
448 unittest(passed, "index %i - data error on node %pOF rc=%i\n", in of_unittest_parse_phandle_with_args()
454 rc = of_parse_phandle_with_args(np, "phandle-list-missing", in of_unittest_parse_phandle_with_args()
455 "#phandle-cells", 0, &args); in of_unittest_parse_phandle_with_args()
456 unittest(rc == -ENOENT, "expected:%i got:%i\n", -ENOENT, rc); in of_unittest_parse_phandle_with_args()
457 rc = of_count_phandle_with_args(np, "phandle-list-missing", in of_unittest_parse_phandle_with_args()
458 "#phandle-cells"); in of_unittest_parse_phandle_with_args()
459 unittest(rc == -ENOENT, "expected:%i got:%i\n", -ENOENT, rc); in of_unittest_parse_phandle_with_args()
465 …"OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-d… in of_unittest_parse_phandle_with_args()
467 rc = of_parse_phandle_with_args(np, "phandle-list", in of_unittest_parse_phandle_with_args()
468 "#phandle-cells-missing", 0, &args); in of_unittest_parse_phandle_with_args()
471 …"OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-d… in of_unittest_parse_phandle_with_args()
473 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
476 …"OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-d… in of_unittest_parse_phandle_with_args()
478 rc = of_count_phandle_with_args(np, "phandle-list", in of_unittest_parse_phandle_with_args()
479 "#phandle-cells-missing"); in of_unittest_parse_phandle_with_args()
482 …"OF: /testcase-data/phandle-tests/consumer-a: could not get #phandle-cells-missing for /testcase-d… in of_unittest_parse_phandle_with_args()
484 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
490 "OF: /testcase-data/phandle-tests/consumer-a: could not find phandle"); in of_unittest_parse_phandle_with_args()
492 rc = of_parse_phandle_with_args(np, "phandle-list-bad-phandle", in of_unittest_parse_phandle_with_args()
493 "#phandle-cells", 0, &args); in of_unittest_parse_phandle_with_args()
496 "OF: /testcase-data/phandle-tests/consumer-a: could not find phandle"); in of_unittest_parse_phandle_with_args()
498 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
501 "OF: /testcase-data/phandle-tests/consumer-a: could not find phandle"); in of_unittest_parse_phandle_with_args()
503 rc = of_count_phandle_with_args(np, "phandle-list-bad-phandle", in of_unittest_parse_phandle_with_args()
504 "#phandle-cells"); in of_unittest_parse_phandle_with_args()
507 "OF: /testcase-data/phandle-tests/consumer-a: could not find phandle"); in of_unittest_parse_phandle_with_args()
509 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
515 "OF: /testcase-data/phandle-tests/consumer-a: #phandle-cells = 3 found -1"); in of_unittest_parse_phandle_with_args()
517 rc = of_parse_phandle_with_args(np, "phandle-list-bad-args", in of_unittest_parse_phandle_with_args()
518 "#phandle-cells", 1, &args); in of_unittest_parse_phandle_with_args()
521 "OF: /testcase-data/phandle-tests/consumer-a: #phandle-cells = 3 found -1"); in of_unittest_parse_phandle_with_args()
523 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
526 "OF: /testcase-data/phandle-tests/consumer-a: #phandle-cells = 3 found -1"); in of_unittest_parse_phandle_with_args()
528 rc = of_count_phandle_with_args(np, "phandle-list-bad-args", in of_unittest_parse_phandle_with_args()
529 "#phandle-cells"); in of_unittest_parse_phandle_with_args()
532 "OF: /testcase-data/phandle-tests/consumer-a: #phandle-cells = 3 found -1"); in of_unittest_parse_phandle_with_args()
534 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args()
543 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-b"); in of_unittest_parse_phandle_with_args_map()
549 p0 = of_find_node_by_path("/testcase-data/phandle-tests/provider0"); in of_unittest_parse_phandle_with_args_map()
555 p1 = of_find_node_by_path("/testcase-data/phandle-tests/provider1"); in of_unittest_parse_phandle_with_args_map()
561 p2 = of_find_node_by_path("/testcase-data/phandle-tests/provider2"); in of_unittest_parse_phandle_with_args_map()
567 p3 = of_find_node_by_path("/testcase-data/phandle-tests/provider3"); in of_unittest_parse_phandle_with_args_map()
573 rc = of_count_phandle_with_args(np, "phandle-list", "#phandle-cells"); in of_unittest_parse_phandle_with_args_map()
580 rc = of_parse_phandle_with_args_map(np, "phandle-list", in of_unittest_parse_phandle_with_args_map()
583 /* Test the values from tests-phandle.dtsi */ in of_unittest_parse_phandle_with_args_map()
600 passed &= (rc == -ENOENT); in of_unittest_parse_phandle_with_args_map()
626 passed &= (rc == -ENOENT); in of_unittest_parse_phandle_with_args_map()
632 unittest(passed, "index %i - data error on node %s rc=%i\n", in of_unittest_parse_phandle_with_args_map()
633 i, args.np->full_name, rc); in of_unittest_parse_phandle_with_args_map()
638 rc = of_parse_phandle_with_args_map(np, "phandle-list-missing", in of_unittest_parse_phandle_with_args_map()
640 unittest(rc == -ENOENT, "expected:%i got:%i\n", -ENOENT, rc); in of_unittest_parse_phandle_with_args_map()
646 …"OF: /testcase-data/phandle-tests/consumer-b: could not get #phandle-missing-cells for /testcase-d… in of_unittest_parse_phandle_with_args_map()
648 rc = of_parse_phandle_with_args_map(np, "phandle-list", in of_unittest_parse_phandle_with_args_map()
649 "phandle-missing", 0, &args); in of_unittest_parse_phandle_with_args_map()
651 …"OF: /testcase-data/phandle-tests/consumer-b: could not get #phandle-missing-cells for /testcase-d… in of_unittest_parse_phandle_with_args_map()
653 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args_map()
659 "OF: /testcase-data/phandle-tests/consumer-b: could not find phandle"); in of_unittest_parse_phandle_with_args_map()
661 rc = of_parse_phandle_with_args_map(np, "phandle-list-bad-phandle", in of_unittest_parse_phandle_with_args_map()
664 "OF: /testcase-data/phandle-tests/consumer-b: could not find phandle"); in of_unittest_parse_phandle_with_args_map()
666 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args_map()
672 "OF: /testcase-data/phandle-tests/consumer-b: #phandle-cells = 2 found -1"); in of_unittest_parse_phandle_with_args_map()
674 rc = of_parse_phandle_with_args_map(np, "phandle-list-bad-args", in of_unittest_parse_phandle_with_args_map()
677 "OF: /testcase-data/phandle-tests/consumer-b: #phandle-cells = 2 found -1"); in of_unittest_parse_phandle_with_args_map()
679 unittest(rc == -EINVAL, "expected:%i got:%i\n", -EINVAL, rc); in of_unittest_parse_phandle_with_args_map()
684 const char *strings[4]; in of_unittest_property_string() local
688 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a"); in of_unittest_property_string()
694 rc = of_property_match_string(np, "phandle-list-names", "first"); in of_unittest_property_string()
696 rc = of_property_match_string(np, "phandle-list-names", "second"); in of_unittest_property_string()
698 rc = of_property_match_string(np, "phandle-list-names", "third"); in of_unittest_property_string()
700 rc = of_property_match_string(np, "phandle-list-names", "fourth"); in of_unittest_property_string()
701 unittest(rc == -ENODATA, "unmatched string; rc=%i\n", rc); in of_unittest_property_string()
702 rc = of_property_match_string(np, "missing-property", "blah"); in of_unittest_property_string()
703 unittest(rc == -EINVAL, "missing property; rc=%i\n", rc); in of_unittest_property_string()
704 rc = of_property_match_string(np, "empty-property", "blah"); in of_unittest_property_string()
705 unittest(rc == -ENODATA, "empty property; rc=%i\n", rc); in of_unittest_property_string()
706 rc = of_property_match_string(np, "unterminated-string", "blah"); in of_unittest_property_string()
707 unittest(rc == -EILSEQ, "unterminated string; rc=%i\n", rc); in of_unittest_property_string()
710 rc = of_property_count_strings(np, "string-property"); in of_unittest_property_string()
712 rc = of_property_count_strings(np, "phandle-list-names"); in of_unittest_property_string()
714 rc = of_property_count_strings(np, "unterminated-string"); in of_unittest_property_string()
715 unittest(rc == -EILSEQ, "unterminated string; rc=%i\n", rc); in of_unittest_property_string()
716 rc = of_property_count_strings(np, "unterminated-string-list"); in of_unittest_property_string()
717 unittest(rc == -EILSEQ, "unterminated string array; rc=%i\n", rc); in of_unittest_property_string()
720 rc = of_property_read_string_index(np, "string-property", 0, strings); in of_unittest_property_string()
721 …unittest(rc == 0 && !strcmp(strings[0], "foobar"), "of_property_read_string_index() failure; rc=%i… in of_unittest_property_string()
722 strings[0] = NULL; in of_unittest_property_string()
723 rc = of_property_read_string_index(np, "string-property", 1, strings); in of_unittest_property_string()
724 …unittest(rc == -ENODATA && strings[0] == NULL, "of_property_read_string_index() failure; rc=%i\n",… in of_unittest_property_string()
725 rc = of_property_read_string_index(np, "phandle-list-names", 0, strings); in of_unittest_property_string()
726 …unittest(rc == 0 && !strcmp(strings[0], "first"), "of_property_read_string_index() failure; rc=%i\… in of_unittest_property_string()
727 rc = of_property_read_string_index(np, "phandle-list-names", 1, strings); in of_unittest_property_string()
728 …unittest(rc == 0 && !strcmp(strings[0], "second"), "of_property_read_string_index() failure; rc=%i… in of_unittest_property_string()
729 rc = of_property_read_string_index(np, "phandle-list-names", 2, strings); in of_unittest_property_string()
730 …unittest(rc == 0 && !strcmp(strings[0], "third"), "of_property_read_string_index() failure; rc=%i\… in of_unittest_property_string()
731 strings[0] = NULL; in of_unittest_property_string()
732 rc = of_property_read_string_index(np, "phandle-list-names", 3, strings); in of_unittest_property_string()
733 …unittest(rc == -ENODATA && strings[0] == NULL, "of_property_read_string_index() failure; rc=%i\n",… in of_unittest_property_string()
734 strings[0] = NULL; in of_unittest_property_string()
735 rc = of_property_read_string_index(np, "unterminated-string", 0, strings); in of_unittest_property_string()
736 …unittest(rc == -EILSEQ && strings[0] == NULL, "of_property_read_string_index() failure; rc=%i\n", … in of_unittest_property_string()
737 rc = of_property_read_string_index(np, "unterminated-string-list", 0, strings); in of_unittest_property_string()
738 …unittest(rc == 0 && !strcmp(strings[0], "first"), "of_property_read_string_index() failure; rc=%i\… in of_unittest_property_string()
739 strings[0] = NULL; in of_unittest_property_string()
740 rc = of_property_read_string_index(np, "unterminated-string-list", 2, strings); /* should fail */ in of_unittest_property_string()
741 …unittest(rc == -EILSEQ && strings[0] == NULL, "of_property_read_string_index() failure; rc=%i\n", … in of_unittest_property_string()
742 strings[1] = NULL; in of_unittest_property_string()
745 rc = of_property_read_string_array(np, "string-property", strings, 4); in of_unittest_property_string()
747 rc = of_property_read_string_array(np, "phandle-list-names", strings, 4); in of_unittest_property_string()
749 rc = of_property_read_string_array(np, "unterminated-string", strings, 4); in of_unittest_property_string()
750 unittest(rc == -EILSEQ, "unterminated string; rc=%i\n", rc); in of_unittest_property_string()
751 /* -- An incorrectly formed string should cause a failure */ in of_unittest_property_string()
752 rc = of_property_read_string_array(np, "unterminated-string-list", strings, 4); in of_unittest_property_string()
753 unittest(rc == -EILSEQ, "unterminated string array; rc=%i\n", rc); in of_unittest_property_string()
754 /* -- parsing the correctly formed strings should still work: */ in of_unittest_property_string()
755 strings[2] = NULL; in of_unittest_property_string()
756 rc = of_property_read_string_array(np, "unterminated-string-list", strings, 2); in of_unittest_property_string()
757 unittest(rc == 2 && strings[2] == NULL, "of_property_read_string_array() failure; rc=%i\n", rc); in of_unittest_property_string()
758 strings[1] = NULL; in of_unittest_property_string()
759 rc = of_property_read_string_array(np, "phandle-list-names", strings, 1); in of_unittest_property_string()
760 …unittest(rc == 1 && strings[1] == NULL, "Overwrote end of string array; rc=%i, str='%s'\n", rc, st… in of_unittest_property_string()
763 #define propcmp(p1, p2) (((p1)->length == (p2)->length) && \
764 (p1)->value && (p2)->value && \
765 !memcmp((p1)->value, (p2)->value, (p1)->length) && \
766 !strcmp((p1)->name, (p2)->name))
776 kfree(new->value); in of_unittest_property_copy()
777 kfree(new->name); in of_unittest_property_copy()
781 unittest(new && propcmp(&p2, new), "non-empty property didn't copy correctly\n"); in of_unittest_property_copy()
782 kfree(new->value); in of_unittest_property_copy()
783 kfree(new->name); in of_unittest_property_copy()
791 struct property *ppadd, padd = { .name = "prop-add", .length = 1, .value = "" }; in of_unittest_changeset()
795 struct property *ppupdate, pupdate = { .name = "prop-update", .length = 5, .value = "abcd" }; in of_unittest_changeset()
809 nchangeset = of_find_node_by_path("/testcase-data/changeset"); in of_unittest_changeset()
810 nremove = of_get_child_by_name(nchangeset, "node-remove"); in of_unittest_changeset()
829 n1->parent = parent; in of_unittest_changeset()
830 n2->parent = parent; in of_unittest_changeset()
831 n21->parent = n2; in of_unittest_changeset()
833 ppremove = of_find_property(parent, "prop-remove", NULL); in of_unittest_changeset()
849 unittest(!of_changeset_add_property(&chgset, parent, ppadd), "fail add prop prop-add\n"); in of_unittest_changeset()
858 unittest((np = of_find_node_by_path("/testcase-data/changeset/n2/n21")), in of_unittest_changeset()
914 of_unittest_dma_ranges_one("/testcase-data/address-tests/device@70000000", in of_unittest_parse_dma_ranges()
916 of_unittest_dma_ranges_one("/testcase-data/address-tests/bus@80000000/device@1000", in of_unittest_parse_dma_ranges()
918 of_unittest_dma_ranges_one("/testcase-data/address-tests/pci@90000000", in of_unittest_parse_dma_ranges()
932 np = of_find_node_by_path("/testcase-data/address-tests/pci@90000000"); in of_unittest_pci_dma_ranges()
939 pr_err("missing dma-ranges property\n"); in of_unittest_pci_dma_ranges()
944 * Get the dma-ranges from the device tree in of_unittest_pci_dma_ranges()
983 np = of_find_node_by_path("/testcase-data/interrupts/interrupts0"); in of_unittest_parse_interrupts()
999 unittest(passed, "index %i - data error on node %pOF rc=%i\n", in of_unittest_parse_interrupts()
1004 np = of_find_node_by_path("/testcase-data/interrupts/interrupts1"); in of_unittest_parse_interrupts()
1016 /* Test the values from tests-phandle.dtsi */ in of_unittest_parse_interrupts()
1045 unittest(passed, "index %i - data error on node %pOF rc=%i\n", in of_unittest_parse_interrupts()
1060 np = of_find_node_by_path("/testcase-data/interrupts/interrupts-extended0"); in of_unittest_parse_interrupts_extended()
1072 /* Test the values from tests-phandle.dtsi */ in of_unittest_parse_interrupts_extended()
1119 unittest(passed, "index %i - data error on node %pOF rc=%i\n", in of_unittest_parse_interrupts_extended()
1146 { .path = "/testcase-data/match-node/name0", .data = "A", },
1147 { .path = "/testcase-data/match-node/name1", .data = "B", },
1148 { .path = "/testcase-data/match-node/a/name2", .data = "Ca", },
1149 { .path = "/testcase-data/match-node/b/name2", .data = "Cb", },
1150 { .path = "/testcase-data/match-node/c/name2", .data = "Cc", },
1151 { .path = "/testcase-data/match-node/name3", .data = "E", },
1152 { .path = "/testcase-data/match-node/name4", .data = "G", },
1153 { .path = "/testcase-data/match-node/name5", .data = "H", },
1154 { .path = "/testcase-data/match-node/name6", .data = "G", },
1155 { .path = "/testcase-data/match-node/name7", .data = "I", },
1156 { .path = "/testcase-data/match-node/name8", .data = "J", },
1157 { .path = "/testcase-data/match-node/name9", .data = "K", },
1181 if (strcmp(match->data, match_node_tests[i].data) != 0) { in of_unittest_match_node()
1184 (const char *)match->data); in of_unittest_match_node()
1197 .name = "unittest-bus",
1205 { .compatible = "test-device", }, in of_unittest_platform_populate()
1209 np = of_find_node_by_path("/testcase-data"); in of_unittest_platform_populate()
1212 /* Test that a missing irq domain returns -EPROBE_DEFER */ in of_unittest_platform_populate()
1213 np = of_find_node_by_path("/testcase-data/testcase-device1"); in of_unittest_platform_populate()
1219 unittest(irq == -EPROBE_DEFER, in of_unittest_platform_populate()
1220 "device deferred probe failed - %d\n", irq); in of_unittest_platform_populate()
1222 /* Test that a parsing failure does not return -EPROBE_DEFER */ in of_unittest_platform_populate()
1223 np = of_find_node_by_path("/testcase-data/testcase-device2"); in of_unittest_platform_populate()
1228 "platform testcase-data:testcase-device2: IRQ index 0 not found"); in of_unittest_platform_populate()
1233 "platform testcase-data:testcase-device2: IRQ index 0 not found"); in of_unittest_platform_populate()
1235 unittest(irq < 0 && irq != -EPROBE_DEFER, in of_unittest_platform_populate()
1236 "device parsing error failed - %d\n", irq); in of_unittest_platform_populate()
1239 np = of_find_node_by_path("/testcase-data/platform-tests"); in of_unittest_platform_populate()
1251 test_bus->dev.of_node = np; in of_unittest_platform_populate()
1255 * registered to catch problems with un-inserted resources. The in of_unittest_platform_populate()
1262 of_platform_populate(np, match, NULL, &test_bus->dev); in of_unittest_platform_populate()
1273 of_platform_depopulate(&test_bus->dev); in of_unittest_platform_populate()
1286 * update_node_properties - adds the properties
1302 child->parent = dup; in update_node_properties()
1311 * compiled with the '-@' option. If you encounter this error, in update_node_properties()
1319 * sets prop->next to NULL in update_node_properties()
1321 for (prop = np->properties; prop != NULL; prop = save_next) { in update_node_properties()
1322 save_next = prop->next; in update_node_properties()
1325 if (ret == -EEXIST && !strcmp(prop->name, "name")) in update_node_properties()
1328 np, prop->name); in update_node_properties()
1334 * attach_node_and_children - attaches nodes
1336 * CAUTION: misleading function name - if node @np already exists in
1364 child = np->child; in attach_node_and_children()
1365 np->child = NULL; in attach_node_and_children()
1369 np->sibling = np->parent->child; in attach_node_and_children()
1370 np->parent->child = np; in attach_node_and_children()
1378 next = child->sibling; in attach_node_and_children()
1385 * unittest_data_add - Reads, copies data from
1398 const int size = __dtb_testcases_end - __dtb_testcases_begin; in unittest_data_add()
1404 return -ENODATA; in unittest_data_add()
1410 return -ENOMEM; in unittest_data_add()
1416 return -ENODATA; in unittest_data_add()
1428 return -EINVAL; in unittest_data_add()
1442 "Duplicate name in testcase-data, renamed to \"duplicate-name#1\""); in unittest_data_add()
1444 /* attach the sub-tree to live tree */ in unittest_data_add()
1445 np = unittest_data_node->child; in unittest_data_add()
1447 struct device_node *next = np->sibling; in unittest_data_add()
1449 np->parent = of_root; in unittest_data_add()
1455 "Duplicate name in testcase-data, renamed to \"duplicate-name#1\""); in unittest_data_add()
1467 struct device *dev = &pdev->dev; in unittest_probe()
1468 struct device_node *np = dev->of_node; in unittest_probe()
1472 return -EINVAL; in unittest_probe()
1478 of_platform_populate(np, NULL, NULL, &pdev->dev); in unittest_probe()
1485 struct device *dev = &pdev->dev; in unittest_remove()
1486 struct device_node *np = dev->of_node; in unittest_remove()
1546 pr_debug("%s(): %s %d %d\n", __func__, chip->label, offset, in unittest_gpio_chip_request()
1560 return -ENOMEM; in unittest_gpio_probe()
1564 devptr->chip.of_node = pdev->dev.of_node; in unittest_gpio_probe()
1565 devptr->chip.label = "of-unittest-gpio"; in unittest_gpio_probe()
1566 devptr->chip.base = -1; /* dynamic allocation */ in unittest_gpio_probe()
1567 devptr->chip.ngpio = 5; in unittest_gpio_probe()
1568 devptr->chip.request = unittest_gpio_chip_request; in unittest_gpio_probe()
1570 ret = gpiochip_add_data(&devptr->chip, NULL); in unittest_gpio_probe()
1573 "gpiochip_add_data() for node @%pOF failed, ret = %d\n", devptr->chip.of_node, ret); in unittest_gpio_probe()
1583 struct device *dev = &pdev->dev; in unittest_gpio_remove()
1584 struct device_node *np = pdev->dev.of_node; in unittest_gpio_remove()
1589 return -EINVAL; in unittest_gpio_remove()
1591 if (gdev->chip.base != -1) in unittest_gpio_remove()
1592 gpiochip_remove(&gdev->chip); in unittest_gpio_remove()
1601 { .compatible = "unittest-gpio", },
1609 .name = "unittest-gpio",
1630 * - apply overlay_gpio_01 in of_unittest_overlay_gpio()
1631 * - apply overlay_gpio_02a in of_unittest_overlay_gpio()
1632 * - apply overlay_gpio_02b in of_unittest_overlay_gpio()
1633 * - register driver in of_unittest_overlay_gpio()
1636 * - probe and processing gpio hog for overlay_gpio_01 in of_unittest_overlay_gpio()
1637 * - probe for overlay_gpio_02a in of_unittest_overlay_gpio()
1638 * - processing gpio for overlay_gpio_02b in of_unittest_overlay_gpio()
1665 "GPIO line <<int>> (line-B-input) hogged as input\n"); in of_unittest_overlay_gpio()
1668 "GPIO line <<int>> (line-A-input) hogged as input\n"); in of_unittest_overlay_gpio()
1675 "GPIO line <<int>> (line-A-input) hogged as input\n"); in of_unittest_overlay_gpio()
1677 "GPIO line <<int>> (line-B-input) hogged as input\n"); in of_unittest_overlay_gpio()
1684 unittest_gpio_chip_request_count - chip_request_count); in of_unittest_overlay_gpio()
1689 * Similar to a driver built-in to the kernel, the in of_unittest_overlay_gpio()
1694 * - apply overlay_gpio_03 in of_unittest_overlay_gpio()
1697 * - probe and processing gpio hog. in of_unittest_overlay_gpio()
1704 "GPIO line <<int>> (line-D-input) hogged as input\n"); in of_unittest_overlay_gpio()
1712 "GPIO line <<int>> (line-D-input) hogged as input\n"); in of_unittest_overlay_gpio()
1719 unittest_gpio_chip_request_count - chip_request_count); in of_unittest_overlay_gpio()
1724 * - apply overlay_gpio_04a in of_unittest_overlay_gpio()
1727 * - probe for overlay_gpio_04a in of_unittest_overlay_gpio()
1744 * - apply overlay_gpio_04b in of_unittest_overlay_gpio()
1747 * - processing gpio for overlay_gpio_04b in of_unittest_overlay_gpio()
1751 "GPIO line <<int>> (line-C-input) hogged as input\n"); in of_unittest_overlay_gpio()
1759 "GPIO line <<int>> (line-C-input) hogged as input\n"); in of_unittest_overlay_gpio()
1763 unittest_gpio_chip_request_count - chip_request_count); in of_unittest_overlay_gpio()
1800 put_device(&client->dev); in of_path_i2c_client_exists()
1834 base = "/testcase-data/overlay-node/test-bus"; in unittest_path()
1837 base = "/testcase-data/overlay-node/test-bus/i2c-test-bus"; in unittest_path()
1843 snprintf(buf, sizeof(buf) - 1, "%s/test-unittest%d", base, nr); in unittest_path()
1844 buf[sizeof(buf) - 1] = '\0'; in unittest_path()
1867 snprintf(buf, sizeof(buf) - 1, in overlay_name_from_nr()
1869 buf[sizeof(buf) - 1] = '\0'; in overlay_name_from_nr()
1874 static const char *bus_path = "/testcase-data/overlay-node/test-bus";
1880 static int overlay_first_id = -1;
1893 id -= overlay_first_id; in of_unittest_track_overlay()
1904 id -= overlay_first_id; in of_unittest_untrack_overlay()
1921 for (id = MAX_UNITTEST_OVERLAYS - 1; id >= 0; id--) { in of_unittest_destroy_tracked_overlays()
1927 if (ret == -ENODEV) { in of_unittest_destroy_tracked_overlays()
1953 return -EFAULT; in of_unittest_apply_overlay()
1972 !before ? "enabled" : "disabled"); in of_unittest_apply_overlay_check()
1973 return -EINVAL; in of_unittest_apply_overlay_check()
1988 !after ? "enabled" : "disabled"); in of_unittest_apply_overlay_check()
1989 return -EINVAL; in of_unittest_apply_overlay_check()
2007 !before ? "enabled" : "disabled"); in of_unittest_apply_revert_overlay_check()
2008 return -EINVAL; in of_unittest_apply_revert_overlay_check()
2024 !after ? "enabled" : "disabled"); in of_unittest_apply_revert_overlay_check()
2025 return -EINVAL; in of_unittest_apply_revert_overlay_check()
2043 !before ? "enabled" : "disabled"); in of_unittest_apply_revert_overlay_check()
2044 return -EINVAL; in of_unittest_apply_revert_overlay_check()
2056 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_0()
2062 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_0()
2076 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_1()
2082 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_1()
2097 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_2()
2103 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_2()
2116 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_3()
2122 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_3()
2146 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_5()
2152 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_5()
2178 !before ? "enabled" : "disabled"); in of_unittest_overlay_6()
2186 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_6()
2200 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_6()
2203 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_6()
2217 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_6()
2228 !after ? "enabled" : "disabled"); in of_unittest_overlay_6()
2233 for (i = 1; i >= 0; i--) { in of_unittest_overlay_6()
2253 !before ? "enabled" : "disabled"); in of_unittest_overlay_6()
2273 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_8()
2282 …mory leak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_8()
2293 …will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unittest8/prope… in of_unittest_overlay_8()
2299 …will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/test-unittest8/prope… in of_unittest_overlay_8()
2313 …rlay: node_overlaps_later_cs: #6 overlaps with #7 @/testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_8()
2324 …rlay: node_overlaps_later_cs: #6 overlaps with #7 @/testcase-data/overlay-node/test-bus/test-unitt… in of_unittest_overlay_8()
2335 for (i = 1; i >= 0; i--) { in of_unittest_overlay_8()
2363 child_path = kasprintf(GFP_KERNEL, "%s/test-unittest101", in of_unittest_overlay_10()
2415 struct device *dev = &pdev->dev; in unittest_i2c_bus_probe()
2416 struct device_node *np = dev->of_node; in unittest_i2c_bus_probe()
2423 return -EINVAL; in unittest_i2c_bus_probe()
2431 return -ENOMEM; in unittest_i2c_bus_probe()
2434 std->pdev = pdev; in unittest_i2c_bus_probe()
2437 adap = &std->adap; in unittest_i2c_bus_probe()
2439 adap->nr = -1; in unittest_i2c_bus_probe()
2440 strlcpy(adap->name, pdev->name, sizeof(adap->name)); in unittest_i2c_bus_probe()
2441 adap->class = I2C_CLASS_DEPRECATED; in unittest_i2c_bus_probe()
2442 adap->algo = &unittest_i2c_algo; in unittest_i2c_bus_probe()
2443 adap->dev.parent = dev; in unittest_i2c_bus_probe()
2444 adap->dev.of_node = dev->of_node; in unittest_i2c_bus_probe()
2445 adap->timeout = 5 * HZ; in unittest_i2c_bus_probe()
2446 adap->retries = 3; in unittest_i2c_bus_probe()
2459 struct device *dev = &pdev->dev; in unittest_i2c_bus_remove()
2460 struct device_node *np = dev->of_node; in unittest_i2c_bus_remove()
2464 i2c_del_adapter(&std->adap); in unittest_i2c_bus_remove()
2470 { .compatible = "unittest-i2c-bus", },
2478 .name = "unittest-i2c-bus",
2486 struct device *dev = &client->dev; in unittest_i2c_dev_probe()
2487 struct device_node *np = client->dev.of_node; in unittest_i2c_dev_probe()
2491 return -EINVAL; in unittest_i2c_dev_probe()
2501 struct device *dev = &client->dev; in unittest_i2c_dev_remove()
2502 struct device_node *np = client->dev.of_node; in unittest_i2c_dev_remove()
2509 { .name = "unittest-i2c-dev" },
2515 .name = "unittest-i2c-dev",
2533 struct device *dev = &client->dev; in unittest_i2c_mux_probe()
2534 struct i2c_adapter *adap = client->adapter; in unittest_i2c_mux_probe()
2535 struct device_node *np = client->dev.of_node, *child; in unittest_i2c_mux_probe()
2543 return -EINVAL; in unittest_i2c_mux_probe()
2546 max_reg = (u32)-1; in unittest_i2c_mux_probe()
2550 if (max_reg == (u32)-1 || reg > max_reg) in unittest_i2c_mux_probe()
2553 nchans = max_reg == (u32)-1 ? 0 : max_reg + 1; in unittest_i2c_mux_probe()
2556 return -EINVAL; in unittest_i2c_mux_probe()
2562 return -ENOMEM; in unittest_i2c_mux_probe()
2567 return -ENODEV; in unittest_i2c_mux_probe()
2578 struct device *dev = &client->dev; in unittest_i2c_mux_remove()
2579 struct device_node *np = client->dev.of_node; in unittest_i2c_mux_remove()
2588 { .name = "unittest-i2c-mux" },
2594 .name = "unittest-i2c-mux",
2621 "i2c i2c-1: Added multiplexed i2c bus 2"); in of_unittest_overlay_i2c_init()
2626 "i2c i2c-1: Added multiplexed i2c bus 2"); in of_unittest_overlay_i2c_init()
2651 …ak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/i2c-test-bus/test in of_unittest_overlay_i2c_12()
2656 …ak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/i2c-test-bus/test in of_unittest_overlay_i2c_12()
2670 …ak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/i2c-test-bus/test in of_unittest_overlay_i2c_13()
2676 …ak will occur if overlay removed, property: /testcase-data/overlay-node/test-bus/i2c-test-bus/test in of_unittest_overlay_i2c_13()
2695 "i2c i2c-1: Added multiplexed i2c bus 3"); in of_unittest_overlay_i2c_15()
2700 "i2c i2c-1: Added multiplexed i2c bus 3"); in of_unittest_overlay_i2c_15()
2842 OVERLAY_INFO(overlay_base, -9999),
2865 OVERLAY_INFO(overlay_bad_add_dup_node, -EINVAL),
2866 OVERLAY_INFO(overlay_bad_add_dup_prop, -EINVAL),
2867 OVERLAY_INFO(overlay_bad_phandle, -EINVAL),
2868 OVERLAY_INFO(overlay_bad_symbol, -EINVAL),
2909 for (info = overlays; info && info->name; info++) { in unittest_unflatten_overlay_base()
2910 if (!strcmp(overlay_name, info->name)) { in unittest_unflatten_overlay_base()
2922 if (info->expected_result != -9999) { in unittest_unflatten_overlay_base()
2927 data_size = info->dtb_end - info->dtb_begin; in unittest_unflatten_overlay_base()
2933 size = fdt_totalsize(info->dtb_begin); in unittest_unflatten_overlay_base()
2945 memcpy(new_fdt, info->dtb_begin, size); in unittest_unflatten_overlay_base()
2957 * /proc/device-tree/ contains the updated structure and values from
2969 for (info = overlays; info && info->name; info++) { in overlay_data_apply()
2970 if (!strcmp(overlay_name, info->name)) { in overlay_data_apply()
2980 size = info->dtb_end - info->dtb_begin; in overlay_data_apply()
2984 ret = of_overlay_fdt_apply(info->dtb_begin, size, &info->overlay_id); in overlay_data_apply()
2986 *overlay_id = info->overlay_id; in overlay_data_apply()
2993 if (ret != info->expected_result) in overlay_data_apply()
2995 info->expected_result, ret, overlay_name); in overlay_data_apply()
2997 return (ret == info->expected_result); in overlay_data_apply()
3041 pprev = &overlay_base_root->child; in of_unittest_overlay_high_level()
3042 for (np = overlay_base_root->child; np; np = np->sibling) { in of_unittest_overlay_high_level()
3044 *pprev = np->sibling; in of_unittest_overlay_high_level()
3047 pprev = &np->sibling; in of_unittest_overlay_high_level()
3054 pprev = &overlay_base_root->child; in of_unittest_overlay_high_level()
3055 for (np = overlay_base_root->child; np; np = np->sibling) { in of_unittest_overlay_high_level()
3058 *pprev = np->sibling; in of_unittest_overlay_high_level()
3061 pprev = &np->sibling; in of_unittest_overlay_high_level()
3068 if (!strcmp(np->full_name, base_child->full_name)) { in of_unittest_overlay_high_level()
3084 for (np = overlay_base_root->child; np; np = np->sibling) in of_unittest_overlay_high_level()
3085 np->parent = of_root; in of_unittest_overlay_high_level()
3089 for (last_sibling = np = of_root->child; np; np = np->sibling) in of_unittest_overlay_high_level()
3093 last_sibling->sibling = overlay_base_root->child; in of_unittest_overlay_high_level()
3095 of_root->child = overlay_base_root->child; in of_unittest_overlay_high_level()
3107 prop->name); in of_unittest_overlay_high_level()
3111 kfree(new_prop->name); in of_unittest_overlay_high_level()
3112 kfree(new_prop->value); in of_unittest_overlay_high_level()
3114 /* "name" auto-generated by unflatten */ in of_unittest_overlay_high_level()
3115 if (!strcmp(prop->name, "name")) in of_unittest_overlay_high_level()
3118 prop->name); in of_unittest_overlay_high_level()
3123 prop->name); in of_unittest_overlay_high_level()
3135 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/subst… in of_unittest_overlay_high_level()
3137 … WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/fairway-1/status"); in of_unittest_overlay_high_level()
3139 …eak will occur if overlay removed, property: /testcase-data-2/fairway-1/ride@100/track@30/incline- in of_unittest_overlay_high_level()
3141 …eak will occur if overlay removed, property: /testcase-data-2/fairway-1/ride@100/track@40/incline- in of_unittest_overlay_high_level()
3143 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3145 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3147 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3168 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3170 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3172 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/light… in of_unittest_overlay_high_level()
3174 …eak will occur if overlay removed, property: /testcase-data-2/fairway-1/ride@100/track@40/incline- in of_unittest_overlay_high_level()
3176 …eak will occur if overlay removed, property: /testcase-data-2/fairway-1/ride@100/track@30/incline- in of_unittest_overlay_high_level()
3178 … WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/fairway-1/status"); in of_unittest_overlay_high_level()
3180 …"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/subst… in of_unittest_overlay_high_level()
3185 …ay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/contr… in of_unittest_overlay_high_level()
3187 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/contr… in of_unittest_overlay_high_level()
3193 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/contr… in of_unittest_overlay_high_level()
3195 …ay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/contr… in of_unittest_overlay_high_level()
3198 …ay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3200 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3202 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3208 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3210 …ltiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3212 …ay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/elect… in of_unittest_overlay_high_level()
3237 pr_info("start of unittest - you will see error messages\n"); in of_unittest()
3250 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a"); in of_unittest()
3280 pr_info("end of unittest - %i passed, %i failed\n", in of_unittest()