mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-16 06:51:41 +01:00
dm: test: Add a test for DM_UC_FLAG_NO_AUTO_SEQ
Check that this flag operates as expected. This patch is not earlier in this series since is uses the new behaviour of dev_seq(). Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
981426e350
commit
93f44e8a8c
@ -37,6 +37,7 @@
|
|||||||
testfdt3 = "/b-test";
|
testfdt3 = "/b-test";
|
||||||
testfdt5 = "/some-bus/c-test@5";
|
testfdt5 = "/some-bus/c-test@5";
|
||||||
testfdt8 = "/a-test";
|
testfdt8 = "/a-test";
|
||||||
|
testfdtm1 = &testfdtm1;
|
||||||
fdt-dummy0 = "/translation-test@8000/dev@0,0";
|
fdt-dummy0 = "/translation-test@8000/dev@0,0";
|
||||||
fdt-dummy1 = "/translation-test@8000/dev@1,100";
|
fdt-dummy1 = "/translation-test@8000/dev@1,100";
|
||||||
fdt-dummy2 = "/translation-test@8000/dev@2,200";
|
fdt-dummy2 = "/translation-test@8000/dev@2,200";
|
||||||
@ -917,6 +918,18 @@
|
|||||||
idle-state = <0xabcd>;
|
idle-state = <0xabcd>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
testfdtm0 {
|
||||||
|
compatible = "denx,u-boot-fdtm-test";
|
||||||
|
};
|
||||||
|
|
||||||
|
testfdtm1: testfdtm1 {
|
||||||
|
compatible = "denx,u-boot-fdtm-test";
|
||||||
|
};
|
||||||
|
|
||||||
|
testfdtm2 {
|
||||||
|
compatible = "denx,u-boot-fdtm-test";
|
||||||
|
};
|
||||||
|
|
||||||
timer@0 {
|
timer@0 {
|
||||||
compatible = "sandbox,timer";
|
compatible = "sandbox,timer";
|
||||||
clock-frequency = <1000000>;
|
clock-frequency = <1000000>;
|
||||||
|
|||||||
@ -16,6 +16,7 @@ enum uclass_id {
|
|||||||
UCLASS_DEMO,
|
UCLASS_DEMO,
|
||||||
UCLASS_TEST,
|
UCLASS_TEST,
|
||||||
UCLASS_TEST_FDT,
|
UCLASS_TEST_FDT,
|
||||||
|
UCLASS_TEST_FDT_MANUAL,
|
||||||
UCLASS_TEST_BUS,
|
UCLASS_TEST_BUS,
|
||||||
UCLASS_TEST_PROBE,
|
UCLASS_TEST_PROBE,
|
||||||
UCLASS_TEST_DUMMY,
|
UCLASS_TEST_DUMMY,
|
||||||
|
|||||||
@ -126,6 +126,23 @@ UCLASS_DRIVER(testfdt) = {
|
|||||||
.flags = DM_UC_FLAG_SEQ_ALIAS,
|
.flags = DM_UC_FLAG_SEQ_ALIAS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct udevice_id testfdtm_ids[] = {
|
||||||
|
{ .compatible = "denx,u-boot-fdtm-test" },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
U_BOOT_DRIVER(testfdtm_drv) = {
|
||||||
|
.name = "testfdtm_drv",
|
||||||
|
.of_match = testfdtm_ids,
|
||||||
|
.id = UCLASS_TEST_FDT_MANUAL,
|
||||||
|
};
|
||||||
|
|
||||||
|
UCLASS_DRIVER(testfdtm) = {
|
||||||
|
.name = "testfdtm",
|
||||||
|
.id = UCLASS_TEST_FDT_MANUAL,
|
||||||
|
.flags = DM_UC_FLAG_SEQ_ALIAS | DM_UC_FLAG_NO_AUTO_SEQ,
|
||||||
|
};
|
||||||
|
|
||||||
struct dm_testprobe_pdata {
|
struct dm_testprobe_pdata {
|
||||||
int probe_err;
|
int probe_err;
|
||||||
};
|
};
|
||||||
@ -399,6 +416,31 @@ static int dm_test_fdt_uclass_seq(struct unit_test_state *uts)
|
|||||||
}
|
}
|
||||||
DM_TEST(dm_test_fdt_uclass_seq, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
|
DM_TEST(dm_test_fdt_uclass_seq, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
|
||||||
|
|
||||||
|
/* More tests for sequence numbers */
|
||||||
|
static int dm_test_fdt_uclass_seq_manual(struct unit_test_state *uts)
|
||||||
|
{
|
||||||
|
struct udevice *dev;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Since DM_UC_FLAG_NO_AUTO_SEQ is set for this uclass, only testfdtm1
|
||||||
|
* should get a sequence number assigned
|
||||||
|
*/
|
||||||
|
ut_assertok(uclass_get_device(UCLASS_TEST_FDT_MANUAL, 0, &dev));
|
||||||
|
ut_asserteq_str("testfdtm0", dev->name);
|
||||||
|
ut_asserteq(-1, dev_seq(dev));
|
||||||
|
|
||||||
|
ut_assertok(uclass_get_device_by_seq(UCLASS_TEST_FDT_MANUAL, 1, &dev));
|
||||||
|
ut_asserteq_str("testfdtm1", dev->name);
|
||||||
|
ut_asserteq(1, dev_seq(dev));
|
||||||
|
|
||||||
|
ut_assertok(uclass_get_device(UCLASS_TEST_FDT_MANUAL, 2, &dev));
|
||||||
|
ut_asserteq_str("testfdtm2", dev->name);
|
||||||
|
ut_asserteq(-1, dev_seq(dev));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
DM_TEST(dm_test_fdt_uclass_seq_manual, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
|
||||||
|
|
||||||
/* Test that we can find a device by device tree offset */
|
/* Test that we can find a device by device tree offset */
|
||||||
static int dm_test_fdt_offset(struct unit_test_state *uts)
|
static int dm_test_fdt_offset(struct unit_test_state *uts)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user