devicetree: Add DT_HAS_ALIAS macro
Add 'DT_HAS_ALIAS' macro to verify node alias existence. Signed-off-by: James Roy <rruuaanng@outlook.com>
This commit is contained in:
parent
3734268f90
commit
28238d03ad
|
@ -50,6 +50,8 @@ By alias
|
|||
:zephyr:code-sample:`blinky`, which uses the ``led0`` alias) that need to
|
||||
refer to *some* device of a particular type ("the board's user LED") but
|
||||
don't care which one is used.
|
||||
You may also use :c:macro:`DT_HAS_ALIAS()` to verify whether an alias
|
||||
node exists.
|
||||
|
||||
By instance number
|
||||
This is done primarily by device drivers, as instance numbers are a way to
|
||||
|
|
|
@ -235,6 +235,13 @@
|
|||
*/
|
||||
#define DT_ALIAS(alias) DT_CAT(DT_N_ALIAS_, alias)
|
||||
|
||||
/**
|
||||
* @brief Test if the devicetree has a given alias
|
||||
* @param alias_name lowercase-and-underscores devicetree alias name
|
||||
* @return 1 if the alias exists and refers to a node, 0 otherwise
|
||||
*/
|
||||
#define DT_HAS_ALIAS(alias_name) DT_NODE_EXISTS(DT_ALIAS(alias_name))
|
||||
|
||||
/**
|
||||
* @brief Get a node identifier for an instance of a compatible
|
||||
*
|
||||
|
|
|
@ -127,6 +127,8 @@ ZTEST(devicetree_api, test_path_props)
|
|||
|
||||
ZTEST(devicetree_api, test_alias_props)
|
||||
{
|
||||
zassert_equal(DT_HAS_ALIAS(test_alias), 1, "");
|
||||
zassert_equal(DT_HAS_ALIAS(test_alias_none), 0, "");
|
||||
zassert_equal(DT_NUM_REGS(TEST_ALIAS), 1, "");
|
||||
zassert_equal(DT_REG_ADDR(TEST_ALIAS), 0xdeadbeef, "");
|
||||
zassert_equal(DT_REG_SIZE(TEST_ALIAS), 0x1000, "");
|
||||
|
|
Loading…
Reference in New Issue