1 // SPDX-License-Identifier: GPL-2.0+
2
3 #include <dm.h>
4 #include <dm/test.h>
5 #include <test/ut.h>
6
dm_test_ofprop_get_property(struct unit_test_state * uts)7 static int dm_test_ofprop_get_property(struct unit_test_state *uts)
8 {
9 ofnode node;
10 struct ofprop prop;
11 const void *value;
12 const char *propname;
13 int res, len, count = 0;
14
15 node = ofnode_path("/cros-ec/flash");
16 for (res = ofnode_first_property(node, &prop);
17 !res;
18 res = ofnode_next_property(&prop)) {
19 value = ofprop_get_property(&prop, &propname, &len);
20 ut_assertnonnull(value);
21 switch (count) {
22 case 0:
23 ut_asserteq_str("image-pos", propname);
24 ut_asserteq(4, len);
25 break;
26 case 1:
27 ut_asserteq_str("size", propname);
28 ut_asserteq(4, len);
29 break;
30 case 2:
31 ut_asserteq_str("erase-value", propname);
32 ut_asserteq(4, len);
33 break;
34 case 3:
35 /* only for plat */
36 ut_asserteq_str("name", propname);
37 ut_asserteq(6, len);
38 ut_asserteq_str("flash", value);
39 break;
40 default:
41 break;
42 }
43 count++;
44 }
45
46 return 0;
47 }
48 DM_TEST(dm_test_ofprop_get_property, UTF_SCAN_PDATA | UTF_SCAN_FDT);
49