@@ -1603,20 +1603,12 @@ static const struct flash_driver_api spi_nor_api = {
16031603
16041604#define INST_HAS_LOCK (idx ) DT_INST_NODE_HAS_PROP(idx, has_lock)
16051605
1606- #define INST_HAS_WP_GPIO (idx ) DT_INST_NODE_HAS_PROP(idx, wp_gpios)
1607-
1608- #define INST_HAS_HOLD_GPIO (idx ) DT_INST_NODE_HAS_PROP(idx, hold_gpios)
1609-
16101606#define LOCK_DEFINE (idx ) \
16111607 IF_ENABLED(INST_HAS_LOCK(idx), (BUILD_ASSERT(DT_INST_PROP(idx, has_lock) == \
16121608 (DT_INST_PROP(idx, has_lock) & 0xFF), \
16131609 "Need support for lock clear beyond SR1");))
16141610
1615- #define INST_HAS_ENTER_4BYTE_ADDR (idx ) DT_INST_NODE_HAS_PROP(idx, enter_4byte_addr)
1616-
1617- #define CONFIGURE_4BYTE_ADDR (idx ) \
1618- IF_ENABLED(INST_HAS_ENTER_4BYTE_ADDR(idx), \
1619- (.enter_4byte_addr = DT_INST_PROP(idx, enter_4byte_addr),))
1611+ #define CONFIGURE_4BYTE_ADDR (idx ) .enter_4byte_addr = DT_INST_PROP_OR(idx, enter_4byte_addr, 0),
16201612
16211613#define INIT_T_ENTER_DPD (idx ) \
16221614 COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, t_enter_dpd), \
@@ -1632,15 +1624,9 @@ static const struct flash_driver_api spi_nor_api = {
16321624 (.t_exit_dpd = 0))
16331625#endif
16341626
1635- #define INIT_WP_GPIOS (idx ) \
1636- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, wp_gpios), \
1637- (.wp = GPIO_DT_SPEC_INST_GET(idx, wp_gpios)), \
1638- (.wp = {0}))
1627+ #define INIT_WP_GPIOS (idx ) .wp = GPIO_DT_SPEC_INST_GET_OR(idx, wp_gpios, {0})
16391628
1640- #define INIT_HOLD_GPIOS (idx ) \
1641- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, hold_gpios), \
1642- (.hold = GPIO_DT_SPEC_INST_GET(idx, hold_gpios)), \
1643- (.hold = {0},))
1629+ #define INIT_HOLD_GPIOS (idx ) .hold = GPIO_DT_SPEC_INST_GET_OR(idx, hold_gpios, {0})
16441630
16451631#define INIT_WAKEUP_SEQ_PARAMS (idx ) \
16461632 COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, dpd_wakeup_sequence), \
@@ -1652,15 +1638,10 @@ static const struct flash_driver_api spi_nor_api = {
16521638 DT_INST_PROP_BY_IDX(idx, dpd_wakeup_sequence, 2), NSEC_PER_MSEC)),\
16531639 (.t_dpdd_ms = 0, .t_crdp_ms = 0, .t_rdp_ms = 0))
16541640
1655- #define INIT_MXICY_MX25R_POWER_MODE (idx ) \
1656- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, mxicy_mx25r_power_mode), \
1657- (.mxicy_mx25r_power_mode = DT_INST_ENUM_IDX(idx, mxicy_mx25r_power_mode)),\
1658- (.mxicy_mx25r_power_mode = 0))
1641+ #define INIT_MXICY_MX25R_POWER_MODE (idx ) \
1642+ .mxicy_mx25r_power_mode = DT_INST_ENUM_IDX_OR(idx, mxicy_mx25r_power_mode, 0)
16591643
1660- #define INIT_RESET_GPIOS (idx ) \
1661- COND_CODE_1(DT_INST_NODE_HAS_PROP(idx, reset_gpios), \
1662- (.reset = GPIO_DT_SPEC_INST_GET(idx, reset_gpios)), \
1663- (.reset = {0}))
1644+ #define INIT_RESET_GPIOS (idx ) .reset = GPIO_DT_SPEC_INST_GET_OR(idx, reset_gpios, {0})
16641645
16651646#define INST_CONFIG_STRUCT_GEN (idx ) \
16661647 DEFINE_PAGE_LAYOUT(idx) \
0 commit comments