diff --git a/arch/common/sw_isr_common.c b/arch/common/sw_isr_common.c index f312bfc96c7..79be8657328 100644 --- a/arch/common/sw_isr_common.c +++ b/arch/common/sw_isr_common.c @@ -24,4 +24,21 @@ void z_isr_install(unsigned int irq, void (*routine)(void *), void *param) _sw_isr_table[table_idx].arg = param; _sw_isr_table[table_idx].isr = routine; } + +/* Some architectures don't/can't interpret flags or priority and have + * no more processing to do than this. Provide a generic fallback. + */ +int __weak z_arch_irq_connect_dynamic(unsigned int irq, + unsigned int priority, + void (*routine)(void *), + void *parameter, + u32_t flags) +{ + ARG_UNUSED(flags); + ARG_UNUSED(priority); + + z_isr_install(irq, routine, parameter); + return irq; +} + #endif /* CONFIG_DYNAMIC_INTERRUPTS */