+static int dm_test_ofnode_u32_array(struct unit_test_state *uts)
+{
+ ofnode node;
+ u32 val[10];
+
+ node = ofnode_path("/a-test");
+ ut_assert(ofnode_valid(node));
+ ut_assertok(ofnode_read_u32_array(node, "int-value", val, 1));
+ ut_asserteq(-EINVAL, ofnode_read_u32_array(node, "missing", val, 1));
+ ut_asserteq(-EOVERFLOW, ofnode_read_u32_array(node, "bool-value", val,
+ 1));
+
+ memset(val, '\0', sizeof(val));
+ ut_assertok(ofnode_read_u32_array(node, "int-array", val + 1, 3));
+ ut_asserteq(0, val[0]);
+ ut_asserteq(5678, val[1]);
+ ut_asserteq(9123, val[2]);
+ ut_asserteq(4567, val[3]);
+ ut_asserteq(0, val[4]);
+ ut_asserteq(-EOVERFLOW, ofnode_read_u32_array(node, "int-array", val,
+ 4));
+
+ return 0;
+}
+DM_TEST(dm_test_ofnode_u32_array, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
+
+static int dm_test_ofnode_u64(struct unit_test_state *uts)
+{
+ ofnode node;
+ u64 val;
+
+ node = ofnode_path("/a-test");
+ ut_assert(ofnode_valid(node));
+ ut_assertok(ofnode_read_u64(node, "int64-value", &val));
+ ut_asserteq_64(0x1111222233334444, val);
+ ut_asserteq(-EINVAL, ofnode_read_u64(node, "missing", &val));
+
+ return 0;
+}
+DM_TEST(dm_test_ofnode_u64, UT_TESTF_SCAN_FDT);
+