|
66 | 66 | * @param prop_name human-readable string name for 'prop'
|
67 | 67 | */
|
68 | 68 | #define NRF_DT_CHECK_GPIO_CTLR_IS_SOC(node_id, prop, prop_name) \
|
69 |
| - BUILD_ASSERT(!DT_NODE_HAS_PROP(node_id, prop) || \ |
70 |
| - DT_NODE_HAS_COMPAT(DT_GPIO_CTLR(node_id, prop), \ |
71 |
| - nordic_nrf_gpio), \ |
72 |
| - "Devicetree node " DT_NODE_PATH(node_id) \ |
73 |
| - " property " prop_name " must refer to a GPIO " \ |
74 |
| - " controller with compatible nordic,nrf-gpio; " \ |
75 |
| - "got " DT_NODE_PATH(DT_GPIO_CTLR(node_id, prop)) \ |
76 |
| - ", which does not have this compatible") |
| 69 | + COND_CODE_1(DT_NODE_HAS_PROP(node_id, prop), \ |
| 70 | + (BUILD_ASSERT(DT_NODE_HAS_COMPAT( \ |
| 71 | + DT_GPIO_CTLR(node_id, prop), \ |
| 72 | + nordic_nrf_gpio), \ |
| 73 | + "Devicetree node " \ |
| 74 | + DT_NODE_PATH(node_id) \ |
| 75 | + " property " prop_name \ |
| 76 | + " must refer to a GPIO controller " \ |
| 77 | + "with compatible nordic,nrf-gpio; " \ |
| 78 | + "got " \ |
| 79 | + DT_NODE_PATH(DT_GPIO_CTLR(node_id, \ |
| 80 | + prop)) \ |
| 81 | + ", which does not have this " \ |
| 82 | + "compatible")), \ |
| 83 | + (BUILD_ASSERT(1, \ |
| 84 | + "NRF_DT_CHECK_GPIO_CTLR_IS_SOC: OK"))) |
| 85 | +/* Note: allow a trailing ";" either way */ |
77 | 86 |
|
78 | 87 | #endif /* !_ASMLANGUAGE */
|
79 | 88 |
|
|
0 commit comments