This is a new DM core helper. There is now a graph endpoint
representation in the sandbox test DTS, so we can just use it to verify
the helper proper behavior.

Suggested-by: Simon Glass <s...@chromium.org>
Reviewed-by: Simon Glass <s...@chromium.org>
Signed-off-by: Miquel Raynal <miquel.ray...@bootlin.com>
---
 configs/sandbox64_defconfig        |  2 ++
 configs/sandbox_flattree_defconfig |  2 ++
 test/dm/test-fdt.c                 | 20 +++++++++++++++++++-
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
index 
7960b2ef42e7ceee2a3646888ae159cdde9b59e0..d49adb6adcb55084daf8d6c1a9f8c95d3e4083ac
 100644
--- a/configs/sandbox64_defconfig
+++ b/configs/sandbox64_defconfig
@@ -256,6 +256,8 @@ CONFIG_CONSOLE_TRUETYPE=y
 CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
 CONFIG_I2C_EDID=y
 CONFIG_VIDEO_SANDBOX_SDL=y
+CONFIG_VIDEO_BRIDGE=y
+CONFIG_VIDEO_BRIDGE_LVDS_CODEC=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
 CONFIG_BMP_16BPP=y
diff --git a/configs/sandbox_flattree_defconfig 
b/configs/sandbox_flattree_defconfig
index 
563093dd8a426f98cdcfa342655bebb82dbefe86..67c0ed7353efc252cb31b31d94415f37a1f74c99
 100644
--- a/configs/sandbox_flattree_defconfig
+++ b/configs/sandbox_flattree_defconfig
@@ -220,6 +220,8 @@ CONFIG_CONSOLE_TRUETYPE=y
 CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
 CONFIG_I2C_EDID=y
 CONFIG_VIDEO_SANDBOX_SDL=y
+CONFIG_VIDEO_BRIDGE=y
+CONFIG_VIDEO_BRIDGE_LVDS_CODEC=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
 CONFIG_BMP_16BPP=y
diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c
index 
af8cd617108ac2421f7275948be000a7cbaebda0..295fdcaa0d83eb6129e9c0aee7a9146b01772d97
 100644
--- a/test/dm/test-fdt.c
+++ b/test/dm/test-fdt.c
@@ -792,7 +792,7 @@ DM_TEST(dm_test_fdt_disable_enable_by_path, UTF_SCAN_PDATA 
| UTF_SCAN_FDT);
 /* Test a few uclass phandle functions */
 static int dm_test_fdt_phandle(struct unit_test_state *uts)
 {
-       struct udevice *back, *dev, *dev2;
+       struct udevice *back, *dispc, *panel, *dev, *dev2;
 
        ut_assertok(uclass_find_first_device(UCLASS_PANEL_BACKLIGHT, &back));
        ut_assertnonnull(back);
@@ -807,6 +807,24 @@ static int dm_test_fdt_phandle(struct unit_test_state *uts)
                                                 "power-supply", &dev2));
        ut_asserteq_ptr(dev, dev2);
 
+       /* Test uclass_get_device_by_endpoint() */
+       ut_assertok(uclass_find_device_by_name(UCLASS_VIDEO_BRIDGE, 
"lvds-encoder", &dispc));
+       ut_assertnonnull(dispc);
+       ut_asserteq(0, device_active(dispc));
+       ut_assertok(uclass_find_device_by_name(UCLASS_PANEL, "panel", &panel));
+       ut_assertnonnull(panel);
+       ut_asserteq(0, device_active(panel));
+
+       ut_asserteq(-ENODEV, 
uclass_get_device_by_endpoint(UCLASS_PANEL_BACKLIGHT, dispc, 1, -1, &dev));
+       ut_asserteq(-EINVAL, uclass_get_device_by_endpoint(UCLASS_PANEL, dispc, 
0, -1, &dev));
+       ut_assertok(uclass_get_device_by_endpoint(UCLASS_PANEL, dispc, 1, -1, 
&dev));
+       ut_asserteq_ptr(panel, dev);
+
+       ut_asserteq(-ENODEV, 
uclass_get_device_by_endpoint(UCLASS_PANEL_BACKLIGHT, panel, -1, -1, &dev2));
+       ut_asserteq(-EINVAL, uclass_get_device_by_endpoint(UCLASS_VIDEO_BRIDGE, 
panel, 1, -1, &dev2));
+       ut_assertok(uclass_get_device_by_endpoint(UCLASS_VIDEO_BRIDGE, panel, 
-1, -1, &dev2));
+       ut_asserteq_ptr(dispc, dev2);
+
        return 0;
 }
 DM_TEST(dm_test_fdt_phandle, UTF_SCAN_PDATA | UTF_SCAN_FDT);

-- 
2.48.1

Reply via email to