ofread.c 1.1 KB

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