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