@@ -1632,20 +1632,12 @@ static const struct flash_driver_api spi_nor_api = {
16321632
16331633#define INST_HAS_LOCK (idx ) DT_INST_NODE_HAS_PROP(idx, has_lock)
16341634
1635- #define INST_HAS_WP_GPIO (idx ) DT_INST_NODE_HAS_PROP(idx, wp_gpios)
1636-
1637- #define INST_HAS_HOLD_GPIO (idx ) DT_INST_NODE_HAS_PROP(idx, hold_gpios)
1638-
16391635#define LOCK_DEFINE (idx ) \
16401636 IF_ENABLED(INST_HAS_LOCK(idx), (BUILD_ASSERT(DT_INST_PROP(idx, has_lock) == \
16411637 (DT_INST_PROP(idx, has_lock) & 0xFF), \
16421638 "Need support for lock clear beyond SR1");))
16431639
1644- #define INST_HAS_ENTER_4BYTE_ADDR (idx ) DT_INST_NODE_HAS_PROP(idx, enter_4byte_addr)
1645-
1646- #define CONFIGURE_4BYTE_ADDR (idx ) \
1647- IF_ENABLED(INST_HAS_ENTER_4BYTE_ADDR(idx), \
1648- (.enter_4byte_addr = DT_INST_PROP(idx, enter_4byte_addr),))
1640+ #define CONFIGURE_4BYTE_ADDR (idx ) .enter_4byte_addr = DT_INST_PROP_OR(idx, enter_4byte_addr, 0),
16491641
16501642#define INIT_T_ENTER_DPD (idx ) \
16511643 COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, t_enter_dpd), \
@@ -1661,15 +1653,9 @@ static const struct flash_driver_api spi_nor_api = {
16611653 (.t_exit_dpd = 0))
16621654#endif
16631655
1664- #define INIT_WP_GPIOS (idx ) \
1665- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, wp_gpios), \
1666- (.wp = GPIO_DT_SPEC_INST_GET(idx, wp_gpios)), \
1667- (.wp = {0}))
1656+ #define INIT_WP_GPIOS (idx ) .wp = GPIO_DT_SPEC_INST_GET_OR(idx, wp_gpios, {0})
16681657
1669- #define INIT_HOLD_GPIOS (idx ) \
1670- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, hold_gpios), \
1671- (.hold = GPIO_DT_SPEC_INST_GET(idx, hold_gpios)), \
1672- (.hold = {0},))
1658+ #define INIT_HOLD_GPIOS (idx ) .hold = GPIO_DT_SPEC_INST_GET_OR(idx, hold_gpios, {0})
16731659
16741660#define INIT_WAKEUP_SEQ_PARAMS (idx ) \
16751661 COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, dpd_wakeup_sequence), \
@@ -1681,15 +1667,10 @@ static const struct flash_driver_api spi_nor_api = {
16811667 DT_INST_PROP_BY_IDX(idx, dpd_wakeup_sequence, 2), NSEC_PER_MSEC)),\
16821668 (.t_dpdd_ms = 0, .t_crdp_ms = 0, .t_rdp_ms = 0))
16831669
1684- #define INIT_MXICY_MX25R_POWER_MODE (idx ) \
1685- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, mxicy_mx25r_power_mode), \
1686- (.mxicy_mx25r_power_mode = DT_INST_ENUM_IDX(idx, mxicy_mx25r_power_mode)),\
1687- (.mxicy_mx25r_power_mode = 0))
1670+ #define INIT_MXICY_MX25R_POWER_MODE (idx ) \
1671+ .mxicy_mx25r_power_mode = DT_INST_ENUM_IDX_OR(idx, mxicy_mx25r_power_mode, 0)
16881672
1689- #define INIT_RESET_GPIOS (idx ) \
1690- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, reset_gpios), \
1691- (.reset = GPIO_DT_SPEC_INST_GET(idx, reset_gpios)), \
1692- (.reset = {0}))
1673+ #define INIT_RESET_GPIOS (idx ) .reset = GPIO_DT_SPEC_INST_GET_OR(idx, reset_gpios, {0})
16931674
16941675#define INST_CONFIG_STRUCT_GEN (idx ) \
16951676 DEFINE_PAGE_LAYOUT(idx) \
0 commit comments