Skip to content

Commit 7d89660

Browse files
committed
[nrf fromlist] drivers: mbox: nrf_vevif_task_rx: align to direct IRQs
Allow using direct IRQs (which are obligatory when buiding with `CONFIG_GEN_SW_ISR_TABLE=n`). Upstream PR: zephyrproject-rtos/zephyr#79657 Signed-off-by: Marcin Szymczyk <[email protected]>
1 parent d3d3f66 commit 7d89660

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

drivers/mbox/mbox_nrf_vevif_task_rx.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,25 @@ static const struct mbox_driver_api vevif_task_rx_driver_api = {
116116
.set_enabled = vevif_task_rx_set_enabled,
117117
};
118118

119+
#if defined(CONFIG_GEN_SW_ISR_TABLE)
119120
#define VEVIF_IRQ_CONNECT(idx, _) \
120121
IRQ_CONNECT(DT_INST_IRQ_BY_IDX(0, idx, irq), DT_INST_IRQ_BY_IDX(0, idx, priority), \
121122
vevif_task_rx_isr, &vevif_irqs[idx], 0)
123+
#else
124+
125+
#define VEVIF_IRQ_FUN(idx, _) \
126+
ISR_DIRECT_DECLARE(vevif_task_##idx##_rx_isr) \
127+
{ \
128+
vevif_task_rx_isr(&vevif_irqs[idx]); \
129+
return 1; \
130+
}
131+
132+
LISTIFY(DT_NUM_IRQS(DT_DRV_INST(0)), VEVIF_IRQ_FUN, ())
133+
134+
#define VEVIF_IRQ_CONNECT(idx, _) \
135+
IRQ_DIRECT_CONNECT(DT_INST_IRQ_BY_IDX(0, idx, irq), DT_INST_IRQ_BY_IDX(0, idx, priority), \
136+
vevif_task_##idx##_rx_isr, 0)
137+
#endif
122138

123139
static int vevif_task_rx_init(const struct device *dev)
124140
{

0 commit comments

Comments
 (0)