mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +00:00
test: dm: test-fdt: Add checks for uclass_get_device_by_endpoint()
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 <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
04fcddac28
commit
7478d04e60
3 changed files with 23 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue