This adds a test case to test the new ofnode_phy_is_fixed_link() API.
Both the new and old DT bindings are covered.

Signed-off-by: Bin Meng <bmeng...@gmail.com>
---

 arch/sandbox/dts/test.dts | 11 +++++++++++
 test/dm/of_extra.c        | 18 ++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 2600360224..995c93c95a 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -478,6 +478,17 @@
                fake-host-hwaddr = [00 00 66 44 22 22];
        };
 
+       fixed-link-test1 {
+               fixed-link {
+                       speed = <1000>;
+                       full-duplex;
+               };
+       };
+
+       fixed-link-test2 {
+               fixed-link = <0 1 1000 0 0>;
+       };
+
        firmware {
                sandbox_firmware: sandbox-firmware {
                        compatible = "sandbox,firmware";
diff --git a/test/dm/of_extra.c b/test/dm/of_extra.c
index b19cd3787d..d7c584fa33 100644
--- a/test/dm/of_extra.c
+++ b/test/dm/of_extra.c
@@ -36,3 +36,21 @@ static int dm_test_ofnode_read_fmap_entry(struct 
unit_test_state *uts)
        return 0;
 }
 DM_TEST(dm_test_ofnode_read_fmap_entry, 0);
+
+static int dm_test_ofnode_phy_is_fixed_link(struct unit_test_state *uts)
+{
+       ofnode eth_node, phy_node, node;
+
+       eth_node = ofnode_path("/fixed-link-test1");
+       ut_assert(ofnode_phy_is_fixed_link(eth_node, &phy_node));
+       node = ofnode_path("/fixed-link-test1/fixed-link");
+       ut_asserteq_mem(&phy_node, &node, sizeof(ofnode));
+
+       eth_node = ofnode_path("/fixed-link-test2");
+       ut_assert(ofnode_phy_is_fixed_link(eth_node, &phy_node));
+       node = eth_node;
+       ut_asserteq_mem(&phy_node, &node, sizeof(ofnode));
+
+       return 0;
+}
+DM_TEST(dm_test_ofnode_phy_is_fixed_link, 0);
-- 
2.25.1

Reply via email to