|
26 | 26 | #define FAKEDEFERDRIVER0 DEVICE_DT_GET(DT_PATH(fakedeferdriver_e7000000))
|
27 | 27 | #define FAKEDEFERDRIVER1 DEVICE_DT_GET(DT_PATH(fakedeferdriver_e8000000))
|
28 | 28 |
|
| 29 | +#define FAKEDRIVER0_NODEID DT_PATH(fakedriver_e0000000) |
| 30 | +#define FAKEDRIVER0_NODELABEL "fake_driver_label" |
| 31 | + |
29 | 32 | /* A device without init call */
|
30 | 33 | DEVICE_DEFINE(dummy_noinit, DUMMY_NOINIT, NULL, NULL, NULL, NULL,
|
31 | 34 | POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, NULL);
|
@@ -476,6 +479,26 @@ ZTEST(device, test_deinit_success_and_redeinit)
|
476 | 479 | zassert_equal(ret, -EPERM, "device_deinit should fail when not init or already deinit");
|
477 | 480 | }
|
478 | 481 |
|
| 482 | +#ifdef CONFIG_DEVICE_DT_METADATA |
| 483 | +DEVICE_DT_DEFINE(FAKEDRIVER0_NODEID, NULL, NULL, NULL, NULL, POST_KERNEL, |
| 484 | + CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, NULL); |
| 485 | + |
| 486 | +ZTEST(device, test_device_get_by_dt_nodelabel) |
| 487 | +{ |
| 488 | + const struct device *dev = DEVICE_DT_GET(FAKEDRIVER0_NODEID); |
| 489 | + |
| 490 | + zassert_not_null(dev); |
| 491 | + |
| 492 | + const struct device *valid = device_get_by_dt_nodelabel(FAKEDRIVER0_NODELABEL); |
| 493 | + |
| 494 | + zassert_not_null(valid, "Valid DT nodelabel should return a device"); |
| 495 | + |
| 496 | + const struct device *invalid = device_get_by_dt_nodelabel("does_not_exist"); |
| 497 | + |
| 498 | + zassert_is_null(invalid, "Invalid DT nodelabel should return NULL"); |
| 499 | +} |
| 500 | +#endif |
| 501 | + |
479 | 502 | void *user_setup(void)
|
480 | 503 | {
|
481 | 504 | #ifdef CONFIG_USERSPACE
|
|
0 commit comments